Elm 中的表单-ui
Forms inside Elm-ui
我需要将 <form>
插入 DOM。否则,像 LastPass 这样的密码管理器将无法工作,您无法通过按键盘上的 Enter 键来提交它。我找不到比将 <form>
的全部内容从 Element msg
转换为 Html msg
并再转换回来更好的方法。这真的很低效。
insertForm : List (Element msg) -> Element msg
insertForm elements =
html
(Html.form []
[ layout []
(column [] elements)
]
)
我相信一定有更好的方法。但是我在 elm-ui docs.
的任何地方都找不到它
如果您在 elm-ui 存储库中搜索 "form" 并查看代码,您会发现 Html.form
未被调用。
所以,方法就如你所展示的,就是使用Element.html
.
您声称 "This is really inefficient."。这种说法是错误的。 elm-ui 必须在内部存储 Element
的表示,然后在最后将其转换为 elm/html
的 Html。直接包装存储 Html
并在最后输出它并没有什么低效的。这实际上是 elm-ui 必须要做的最少工作,因为您已经完成了生成您想要的实际 Html
的工作。
我需要将 <form>
插入 DOM。否则,像 LastPass 这样的密码管理器将无法工作,您无法通过按键盘上的 Enter 键来提交它。我找不到比将 <form>
的全部内容从 Element msg
转换为 Html msg
并再转换回来更好的方法。这真的很低效。
insertForm : List (Element msg) -> Element msg
insertForm elements =
html
(Html.form []
[ layout []
(column [] elements)
]
)
我相信一定有更好的方法。但是我在 elm-ui docs.
的任何地方都找不到它如果您在 elm-ui 存储库中搜索 "form" 并查看代码,您会发现 Html.form
未被调用。
所以,方法就如你所展示的,就是使用Element.html
.
您声称 "This is really inefficient."。这种说法是错误的。 elm-ui 必须在内部存储 Element
的表示,然后在最后将其转换为 elm/html
的 Html。直接包装存储 Html
并在最后输出它并没有什么低效的。这实际上是 elm-ui 必须要做的最少工作,因为您已经完成了生成您想要的实际 Html
的工作。