Elm-ui里面的形式

问题描述 投票:1回答:1

我需要将<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的任何地方都找不到它。

html html-form elm
1个回答
4
投票

如果你在elm-ui repo中搜索“form”并查看代码,你会发现没有调用Html.form

因此,正如您所示,这样做的方法是使用Element.html

你声称“这真的很低效。”这种说法是错误的。 elm-ui必须在内部存储Element的表示,然后在最后将其转换为elm/html的Html。直接包装和存储Html并在最后输出它没有任何低效率。这实际上是elm-ui必须做的工作量最少,因为你已经完成了生成你想要的实际Html的工作。

© www.soinside.com 2019 - 2024. All rights reserved.