我有一个应用程序,用户可以在其中创建项目。模型中的 currentProject
是一个 Maybe Project
类型,其初始值设置为 Nothing
(因为该用户可能尚未创建任何项目) )。
type alias Project =
{ name : String }
type alias Model =
{ user : User
, currentProject : Maybe Project
}
这位于模型的 init
中:
当前项目=无
然后我有一个下拉菜单,用户可以在其中选择一个项目。选择它后,onClick
调用以下更新:
type Msg
= ...
| SetProject Project
我尝试运行的更新函数如下所示:
SetProject project ->
case project of
Just project ->
( { model | currentProject = project }, Cmd.none )
Nothing ->
( model, Cmd.none )
我收到错误,因为 project
的类型为 Project
而不是 Maybe Project
。
我知道该项目存在,因为它来自应用程序中现有的项目列表。但是,我无法将 currentProject
设置为 Project
,因为我需要使用 Nothing
初始化模型。
那么,如何更新类型为 Project
的 Maybe Project
记录?
最佳答案
使用Just
构造函数:
SetProject project ->
( { model | currentProject = Just project }, Cmd.none )
关于elm - 在 Elm 中更新 Maybe 记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48452871/