【发布时间】:2019-08-23 22:37:42
【问题描述】:
我需要让我的应用在按下 Enter 时发送一条消息。我有一个类似的元素:
Input.text [] { onChange = UpdateText, text = model.text, placeholder=Nothing }
按下回车后如何提交?
注意:Q/A 复制自 Elm-Slack 以方便查找。
【问题讨论】:
我需要让我的应用在按下 Enter 时发送一条消息。我有一个类似的元素:
Input.text [] { onChange = UpdateText, text = model.text, placeholder=Nothing }
按下回车后如何提交?
注意:Q/A 复制自 Elm-Slack 以方便查找。
【问题讨论】:
Elm-UI docs 中提到了这一点。
基本上,您定义一个函数,当按下 Enter 键时发送一个 msg 并将其嵌入到您的 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"
)
)
)
然后将其嵌入到视图中元素的属性中:
Input.text
[ onEnter EnterWasPressed ]
{ onChange = UpdateText
, text = model.text
, placeholder = Nothing
}
Ellie Link(来自文档):https://ellie-app.com/5X6jBKtxzdpa1
【讨论】:
update 函数中什么都不做的 Message 标签?很奇怪。