Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Syntax 如何更新模型中的字段/值?_Syntax_Record_Elm - Fatal编程技术网

Syntax 如何更新模型中的字段/值?

Syntax 如何更新模型中的字段/值?,syntax,record,elm,Syntax,Record,Elm,如果我的模型看起来像: type alias Application = { id : Int , term : Int , amount : Int } type alias Model = { application : Application } 我试图更新术语值,我在updatecase语句中的输入上有onInput UpdateTerm,如何更新该值 到目前为止,我有UpdateTerm术语->但不确定如何仅更新应用程序中的术语值?记录字段更新在和中进行了说明。更新嵌套在另一条记

如果我的模型看起来像:

type alias Application = { id : Int , term : Int , amount : Int }  
type alias Model = { application : Application }
我试图更新
术语
值,我在updatecase语句中的输入上有
onInput UpdateTerm
,如何更新该值


到目前为止,我有
UpdateTerm术语->但不确定如何仅更新应用程序中的
术语
值?

记录字段更新在和中进行了说明。更新嵌套在另一条记录中的记录中的字段只需一个接一个地进行即可。假设您有一个名为
model
的绑定:

let
    application =
        model.application

    updatedApplication =
        { application | term = term }
in
{ model | application = updatedApplication }

为了获得更好的可读性,您可以使用以下函数:

update msg model = 
    case msg of
       changeNestedProperty property -> 
            ({ model | record= setNestedProperty property model.record } , Cmd.none)

setNestedProperty : String -> Record-> Record
setNestedProperty property record = 
   { record | nestedProperty = property }