在purescript-halogen中是否有一个函数可以通过它的id来选择一个元素,或者我是否需要自定义角色(对我来说这似乎很奇怪)。
我正在阅读关于追踪的文档,我在Util中看到了一个Util函数,但是我在任何地方都看不到允许我通过id进行选择的东西。
我可以使用getElementById :: ElementId -> NonElementParentNode -> Eff () (Nullable Element)获得一个Element,但是我不知道如何将这个Element转换成一个HTMLElement。
在追求的类型搜索功能也是缺乏,所以我道歉这个天真的问题。
发布于 2017-01-14 12:17:43
在使用使用虚拟DOM的库时,通常不应该这样做,因为如果通过id保存对元素的引用,它最终可能会过时,并引用完全不同的元素,或者不再附加到DOM的元素。
获取元素的方法是使用ref,有一个使用它在指南的这一部分的例子。它的工作方式类似于事件处理程序,每当元素存在或被移除时,就会在组件上引发查询。如果使用更新组件状态下的引用的查询,则可以确保始终拥有所需的实际元素(如果由于某种原因不存在,则使用Nothing )。
如果您真的想使用getElementById,那么就使用purescript-dom。它不是Halogen的一部分,因为Halogen不是一般用途的DOM操作。这些实用程序功能只是为了更容易地初始化一个Halogen应用程序。
https://stackoverflow.com/questions/41646993
复制相似问题