为什么我的ListView的选择更改事件没有被触发?

时间:2017-11-17 13:13:44

标签: elm

为什么我的ListView的选择更改事件没有被触发?

我希望选择True 属性来生成InputContentType消息。

然而,它并没有。

listview =
    select [ Html.Events.on "change" (Json.Decode.map InputContentType Html.Events.targetValue) ]
        [ option [ value "instructions" ] [ text "Content Type" ]
        , option [ value "Article", selected True ] [ text "Article" ]
        , option [ value "Video" ] [ text "Video" ]
        ]

在我拥有的实际代码中(这里没有显示),我根据文本框中的值以编程方式在列表视图中选择一个项目。这是在我的视图功能中完成的。

是否有建议的做法来实现这一目标?

附录

type Msg
    = ...
    | InputContentType String

1 个答案:

答案 0 :(得分:0)

目前您有一个固定的选择。由于selected属性设置为始终True,因此始终会选择"Article"。我的建议是将selected添加到每个option,然后在当前选择Bool option的情况下生成configurationsMi队列,这些信息应存储在您的const configurationsWanderingControl = { [fieldRange]: MiFieldRanges.Small, [standAlone]: DoorStates.Locked, [defaultTimeout]: '00:00:03', [overrideTimeout]: '00:00:30', [inputMode]: InputModes.NotUsed, [stopMi]: false, }; const defaultValues = { … [MiConfigurationTypes.LockedWanderingControl]: { ...configurationsMi, ...configurationsWanderingControl, }, [MiConfigurationTypes.OpenWanderingControl]: { ...configurationsMi, ...configurationsWanderingControl, }, }; 中模型。