在AngularJS中,ng-options
允许指定任何值的数组,而不仅仅是字符串,同时保留类型。例如,我可以使用select
在整数数组上创建HTML ng-options
。选择某个选项后, integer 值将被放入model-no string-to-int转换中。
在Elm中,选项的value
属性只接受字符串,因此select
的{{1}}事件会发回一个字符串。然后我必须手动将其转换为int。
榆树是否与AngularJS的onInput
有任何等价物?或者使用任意,甚至非标量值的ng-options
的任何方式?
答案 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