在我的模型中,我有一个存储List
个音节的字段:
type alias Model =
{ freeSyllables : List FreeSyllable
...
}
音节如下:
type alias FreeSyllable =
{ syllable : String
, usage : Usage
}
我想将每个音节中的字符串绑定到select
中的view
:
select [ size 20, style [ ("width", "70px") ] ] []
我怎样才能做到这一点?感谢。
答案 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)
映射到freeSyllables
和value
等于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