Elm-如何使用HTML事件?
Elm似乎没有使用标准的Elm HTML事件,我不知道如何使用它们。例如: 这在编译器中失败,因为现在我在第3行返回typeElm-如何使用HTML事件?,elm,Elm,Elm似乎没有使用标准的Elm HTML事件,我不知道如何使用它们。例如: 这在编译器中失败,因为现在我在第3行返回typeHtml(String->Msg),但在第2行返回typeHtml(Msg) 为什么这两个事件不兼容?有没有办法同时使用两者?此外,文档没有明确说明像我这样的人如何使用onBluronBlur具有与onInput不同的类型签名 onInput:(字符串->消息)->属性消息 onBlur:msg->Attribute msg 这意味着用于onInput的Msg必须采用单个
Html(String->Msg)
,但在第2行返回typeHtml(Msg)
为什么这两个事件不兼容?有没有办法同时使用两者?此外,文档没有明确说明像我这样的人如何使用
onBlur
onBlur
具有与onInput
不同的类型签名
onInput:(字符串->消息)->属性消息
onBlur:msg->Attribute msg
这意味着用于onInput
的Msg
必须采用单个字符串参数。同样,在onBlur
中使用的Msg
也不能接受参数。如果将MsgA
和MsgB
重新定义为以下内容,它将编译:
type Msg
=MsgA字符串
|MsgB
编辑
如果希望模糊处理程序能够接受目标值,可以按如下方式滚动自己的模糊处理程序:
import Html.Events exposing(on,targetValue)
导入Json。解码为Json
onBlurWithTargetValue:(字符串->消息)->属性消息
onBlurWithTargetValue标记器=
关于“模糊”(Json.map tagger targetValue)
谢谢@ChadGilbert。这更清楚一点。我仍然在想我需要onBlur
来获取一个参数,这样我就可以在update
的MsgB
分支中获取该输入的值。你能举一个例子说明onBlur
和onInput
的用法吗?我用一个例子编辑了我的答案,其中“blur”事件可以给你当前值。哇。埃尔姆继续告诉我我一点也不懂。非常感谢。
view model =
div []
[ div []
input [ type_ "text", onInput MsgA ] []
, input [ type_ "text", onBlur MsgB ] []
]