В purescript-dom, как вы переходите от узла к конкретному типу элемента?

Я думаю, что мне может не хватать ключевой функции в 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

Есть ли лучший способ перейти от узла к типу элемента?

1 ответ

Решение

Идея состоит в том, чтобы использовать toForeign а потом readHTMLInputElement когда вы хотите выгнать Node / тип элемента.

Хотя довольно неприятно постоянно писать такие вещи, так что purescript-dom-classy стремится снять часть боли. А также избегая toForeign шаг у вас будет только Maybe иметь дело с, а не Except read функция вернется.

Другие вопросы по тегам