【发布时间】:2017-06-08 17:36:36
【问题描述】:
有没有一种简单的方法可以在视图更新后执行Cmd?特别是,我试图在按下特定键(如回车键)时将光标重新定位在 textarea 中。在我的update 函数中,我有:
case keyboardEvent.key of
"Enter" ->
( modelAfterEnterPressed model keyboardEvent.selectionStart, setCursor model.cursor )
"Tab" ->
....
我的setCursor端口被调用,相应的JavaScript代码正确调用了textarea的setSelectionRange函数。 然后 Elm 调用我的view 函数来更新textarea 的内容。不幸的是,这会清除我的光标位置。
我需要更新textarea 的内容之前在我的JavaScript 端口中调用textarea.setSelectionRange()。有什么方法可以在不诉诸 setTimeout 的情况下做到这一点,这可能并不总是有效,并且会在超时内导致闪烁?
【问题讨论】: