2017-06-13 2 views
1

Ich denke, ich könnte eine Schlüsselfunktion in der purescript-dom-Modul zur Konvertierung von einem Knoten zu einem bestimmten Element-Typ fehlen. Zum Beispiel, wenn ich eine Event habe, kann ich DOM.Events.Events.target verwenden, um den Knoten zu erhalten, aber es scheint, als ob die einzige Möglichkeit, ein spezifisches Element zu erhalten, mit unsafeCoerce, z.B.In purescript-dom wie gehst du von einem Knoten zu einem bestimmten Elementtyp?

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 

Gibt es einen besseren Weg von einem Knoten zu einem Elementtyp?

Antwort

2

Die Idee besteht darin, toForeign und dann readHTMLInputElement zu verwenden, wenn Sie einen Node/Elementtyp upcast.

Es ist ziemlich nervig, ständig solche Dinge zu schreiben, also versucht purescript-dom-classy etwas von dem Schmerz zu nehmen. Sowie die toForeign Schritt zu vermeiden, haben Sie nur eine Maybe zu behandeln, anstatt die Except eine read Funktion wird zurückkehren.

Verwandte Themen