2

我想我可能缺少purescript-dom模块中的一个关键函数来从节点转换为特定的元素类型。例如,如果我有一个Event,我可以使用 DOM.Events.Events.target 来获取节点,但似乎获取特定元素的唯一方法是使用unsafeCoerce,例如

import DOM.Event.Event (target)
import DOM.HTML.HTMLInputElement (value)

eval (InputChange event next) = do
  -- Get the value of the HTMLInputElement assuming it is one
  v <- H.liftEff $ value (unsafeCoerce $ target event)
  H.liftEff $ log "Input field change"
  H.liftEff $ log v
  pure next

有没有更好的方法从节点到元素类型?

4

1 回答 1

4

这个想法是使用toForeign然后readHTMLInputElement当你想向上转换Node/ 元素类型。

不过,不断地写这样的东西是很烦人的,所以purescript-dom-classy旨在消除一些痛苦。除了避免toForeign你只需要Maybe处理的步骤,而不是Exceptaread函数将返回。

于 2017-06-13T23:39:33.643 回答