当按下 Enter 时,我需要让我的应用程序发送一条消息。我有一个元素,如:
Input.text [] { onChange = UpdateText, text = model.text, placeholder=Nothing }
Run Code Online (Sandbox Code Playgroud)
按下回车键时如何使其提交?
注意:Q/A 从Elm-Slack复制以方便查找。
Elm-UI 文档中提到了这一点。
基本上,您定义了一个函数,该函数msg
在按下 Enter 键时发送 a并将其嵌入到您的view
函数中:
onEnter : msg -> Element.Attribute msg
onEnter msg =
Element.htmlAttribute
(Html.Events.on "keyup"
(Decode.field "key" Decode.string
|> Decode.andThen
(\key ->
if key == "Enter" then
Decode.succeed msg
else
Decode.fail "Not the enter key"
)
)
)
Run Code Online (Sandbox Code Playgroud)
然后将其嵌入到视图中元素的属性中:
Input.text
[ onEnter EnterWasPressed ]
{ onChange = UpdateText
, text = model.text
, placeholder = Nothing
}
Run Code Online (Sandbox Code Playgroud)
艾莉链接(来自文档):https : //ellie-app.com/5X6jBKtxzdpa1