在 Purescript 中按 ID 选择元素

use*_*645 2 purescript halogen

是否有一个函数purescript-halogen可以通过它来选择一个元素id,或者我是否需要自定义它的角色(这对我来说似乎很奇怪)。

我读通过追求上的文档,我看到一个selectElement在功能上Util,但没有在任何地方我看到的东西,让我的选择id

我可以使用getElementById :: ElementId -> NonElementParentNode -> Eff () (Nullable Element)来获取Element,但我不知道如何将其Element变成HTMLElement.

Pursuit 中的类型搜索功能也缺乏,所以我为这个幼稚的问题道歉。

gb.*_*gb. 5

在使用使用虚拟 DOM 的库时,这通常不是您应该做的事情,因为如果您通过 id 保存对元素的引用,它最终可能会过时并引用完全不同的元素,或者不再是元素附加到 DOM。

获取元素的方法是使用ref指南的这一部分有一个使用它的例子。它的工作方式类似于事件处理程序,只要元素存在或删除,就会在组件上引发查询。如果您使用更新组件状态中的引用的查询,您可以确保知道您始终拥有您想要的实际元素(或者Nothing如果它由于某种原因不存在)。

如果你真的想使用,getElementById那么它可以从purescript-dom. 它不是 Halogen 的一部分,因为 Halogen 不用于通用 DOM 操作。提供这些实用程序功能只是为了更轻松地初始化 Halogen 应用程序。