如何添加项目到多行选择并在视图中显示它们

时间:2017-08-07 09:17:32

标签: elm

在我的模型中,我有一个存储List个音节的字段:

type alias Model =
{   freeSyllables : List FreeSyllable
    ...
}

音节如下:

type alias FreeSyllable =
{   syllable : String
,   usage : Usage
}

我想将每个音节中的字符串绑定到select中的view

select [ size 20, style [ ("width", "70px") ] ] []

我怎样才能做到这一点?感谢。

1 个答案:

答案 0 :(得分:2)

为了将每个音节显示为option的{​​{1}},您需要select模块中的option函数:

Html

然后只需将import Html exposing (Html, beginnerProgram, text, option, select) import Html.Attributes exposing (style, value) import Html.Events exposing (onInput) 映射到freeSyllablesvalue等于text或其他内容的选项(syllable即可作为输入, value是屏幕上显示的选项,用于选择)

text

选择选项后,将触发事件(例如view : Model -> Html Msg view model = let syllableToOption : FreeSyllable -> Html Msg syllableToOption freeSyllable = option [ value freeSyllable.syllable ] [ text freeSyllable.syllable ] in select [ onInput SetSyllable ] (List.map syllableToOption model.freeSyllables) )。因此,在SetSyllable函数中需要这样的东西:

update