Elm 如何从记录列表中动态创建表行?
我的型号为:Elm 如何从记录列表中动态创建表行?,elm,Elm,我的型号为: type alias Model = { freeSyllables : List FreeSyllable , freeSyllableInput : String , usageStartInput : Bool , usageMidInput : Bool , usageEndInput : Bool } 自由音节类型类似于: type alias FreeSyllable = { syllab
type alias Model =
{ freeSyllables : List FreeSyllable
, freeSyllableInput : String
, usageStartInput : Bool
, usageMidInput : Bool
, usageEndInput : Bool
}
自由音节类型类似于:
type alias FreeSyllable =
{ syllable : String
, usage : Usage
}
用法类型有三个布尔字段:
type alias Usage =
{ start : Bool
, mid : Bool
, end : Bool
}
我试图将模型的自由字列表中的每一项都呈现到一个表中
我没有成功
因此,我的问题是如何动态地将模型的每一个“FreeSyllables”呈现到具有以下列的适当html表中:
- 音节(文本框)
- 开始使用(复选框)
- 中期使用(复选框)
- 最终用途(复选框)
- 操作(保存按钮)
view : Model -> Html Msg
view model =
table [] <|
[ tr []
[ th [] [ text "syllable" ]
, th [] [ text "start" ]
, th [] [ text "mid" ]
, th [] [ text "end" ]
, th [] [ text "actions" ]
]
]
++ (List.map viewItem model.freeSyllables)
viewItem : FreeSyllable -> Html Msg
viewItem s =
tr []
[ th [] [ text s.syllable ]
, th [] [ input [ type_ "checkbox", checked s.usage.start ] [] ]
, th [] [ input [ type_ "checkbox", checked s.usage.mid ] [] ]
, th [] [ input [ type_ "checkbox", checked s.usage.end ] [] ]
, th [] [ button [] [ text "save" ] ]
]
view:Model->Html消息
视图模型=
表[]Html Msg
视图项s=
tr[]
[th[]文本s.音节]
,th[][输入[键入“复选框”,选中s.usage.start][]
,th[][输入[键入“复选框”,选中s.usage.mid][]
,th[][输入[键入“复选框”,选中s.usage.end][]
,th[][按钮[][文本“保存”]]
]