榆树:保留HTML选择中的值类型?

时间:2017-01-13 19:31:54

标签: elm

在AngularJS中,ng-options允许指定任何值的数组,而不仅仅是字符串,同时保留类型。例如,我可以使用select在整数数组上创建HTML ng-options。选择某个选项后, integer 值将被放入model-no string-to-int转换中。

在Elm中,选项的value属性只接受字符串,因此select的{​​{1}}事件会发回一个字符串。然后我必须手动将其转换为int。

榆树是否与AngularJS的onInput有任何等价物?或者使用任意,甚至非标量值的ng-options的任何方式?

2 个答案:

答案 0 :(得分:7)

没有办法做到这一点。您将不得不从字符串解析为您想要的类型并返回。您可以使用基于Prism的API包装<select>

给我几个小时,下班后我会写一个小图书馆......:D

编辑:

套餐 - http://package.elm-lang.org/packages/toastal/select-prism/latest

博客文章 - https://toast.al/posts/2017-01-13-playing-with-prisms-for-the-not-so-isomorphic.html

答案 1 :(得分:3)

您可能也对我的elm-select帮助程序库感兴趣。它并没有完全消除Prism / Lens的所有功能,但在某些情况下它可能更简单:

http://package.elm-lang.org/packages/lgastako/elm-select/1.0.0/Select

此处的完整示例代码:

https://github.com/lgastako/elm-select/blob/master/src/Main.elm