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