2016-07-27 6 views

Antwort

1

@ Antwort robertjlooby das sieht für mich völlig in Ordnung. Wenn Sie wirklich keinen Knoten haben möchten, können Sie displayErrors einen Maybe (Html msg) zurückgeben.

Dann können Sie Ihren Code wie folgt ändern:

import Maybe.Extra exposing (maybeToList) 

div [] (displayErrors model |> maybeToList) 

Wenn displayErrors kehrt Nothing, die div wird wirklich leer.

Hinweis: Sie Maybe.Extra Modul mit dem folgenden Befehl installieren:

elm package install elm-community/maybe-extra 
+0

Ja, das ist eine nette Lösung. Das einzige Problem ist, wenn ich das in einer Liste verwende. Also zum Beispiel: div [] [stuff, (displayErrors model |> mayToList)], das würde nicht wirklich funktionieren. Ich denke, es gibt keine wirklich gute Möglichkeit, dies mit den vorhandenen Html-Funktionssignaturen zu lösen. Vielleicht sollte die Rücksende-Signatur Maybe (Html ​​Msg) anstelle von Html Msg sein. – jz87

+1

In diesem Fall können Sie Listen verketten: 'div [] ([stuff] ++ (displayErrors Modell |> maytToList))' –

+0

@ Down-Wähler: Vielleicht möchten Sie erklären? –

10

Sie können einen Html.text Knoten mit einem leeren String verwenden:

emptyNode = Html.text "" 
+2

diese weg optimiert bekommt? Ich bin besorgt über die Verwendung dieser Phantomknoten wegen der Möglichkeit, eine CSS-Regel auszulösen, die zu unbeabsichtigten Ergebnissen führt. – jz87

+0

@ jz87 sieht aus wie nichts gerendert wird – rpearce

Verwandte Themen