2017-11-21 2 views
0

Ich versuche, eine elm-mdl Komponente elm-css Attribute stylen:Mit Ulme-css mit Ulme-mdl

Button.render Mdl 
    [ 5 ] 
    model.mdl 
    [ Button.colored 
    , Button.raised 
    , Button.ripple 
    , marginRight (px 20) 
    ] 
    [ text "Register" |> toUnstyled ] 
    |> fromUnstyled 

aber die Linie marginRight (px 20) einen Fehler, da die Button eine Button.Property m erwartet und marginRight (px 20) ist ein Style.

Gibt es eine Sequenz von Funktionsaufrufen, die einen von elm-css erstellten CSS-Stil konvertieren können, so dass er von elm-mdl verwendet werden kann?

Für jetzt verwende ich Material.Options.css "margin-right" "20px", aber wuold bevorzugen, elm-css für den Typ Sicherheit zu verwenden.

+0

Es gibt http: // package.elm-lang.org/packages/rtfeldman/elm-css/12.0.0/Css#asPairsDEPRECATED, aber jetzt ist es veraltet. Ich bin nicht sicher, ob die Funktionalität, die diese Funktion ersetzte, das Extrahieren von Roh-CSS unterstützt. Ich konnte es nicht von einer schnellen Suche finden. – Dogbert

Antwort

0

Laut Richard Feldman, der Autor des elm-css Paket, ist dies nicht möglich: https://github.com/rtfeldman/elm-css/issues/336

+0

Es ist erwähnenswert, dass er sagt, dass es unmöglich ist, zu '(String, String)' zu gehen, aber mit 'Material.Options.attribute' könnte es funktionieren, wenn es möglich wäre, eine' Html.Attrbiute' von 'Ulme- zu bekommen. css', was möglicherweise möglich ist, obwohl die Tatsache, dass Typ nicht intern verwendet wird, impliziert, dass dies nicht der Fall ist. –

0

Sie können verwenden Sie die folgende:

toMdlCss : Attribute a -> Material.Options.Property c a 
toMdlCss a = 
    Material.Options.attribute a 

dann: toMdlCss <| style [("padding", "10px")]