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[][按钮[][文本“保存”]]
]