榆树 - 来自动态创建输入的onBlur

时间:2017-04-19 07:40:26

标签: events elm

据我所知,Html.Events中的onBlur事件不允许随其传递任何值。有一种方法可以使其包含输入的值(请参阅此问题,例如:Elm Html.Events - Pass input value to onBlur message),但我怎样才能使其包含其他值?

我的用例是我从模型中的列表生成一个列表(ul),这个列表可以是任何大小,所以我不能为每个输入都有一个特定的消息。相反,我希望每个项目都有这样的东西:

            input
                [ value someValue
                , onBlur UpdateItem uniqueId
                ]
                []

这样我就可以根据我从onBlur消息中获得的ID更新模型中的特定项目。

我该怎么做?

更新: 澄清我的问题:我还需要输入的值,所以我需要传递我的id 获取targetValue(如上面链接的问题)。

(对于未来的访客:我使用 Elm 0.18

1 个答案:

答案 0 :(得分:2)

我的建议是使用onChange,你需要自己定义,并在模糊事件的同时触发。

df.columns = pd.MultiIndex.from_product([['AAA'], df.columns.tolist()])

print(df)

           AAA     
         value time
hostname     1    1
tmserver     1    1

然后定义一条消息来携带新值及其id

onChange : (String -> msg) -> Attribute msg
onChange msgCreator =
    Html.Events.on "change" (Json.map msgCreator Html.Events.targetValue)

然后确保使用type Msg = UpdateItem Id String 属性(而不是defaultValue

value