有没有办法在Elm-Html中生成一个空的Html节点?

jz8*_*z87 13 elm

我正在编写一个显示错误消息的函数,所以在我看来,我有类似的东西

div [] [ displayErrors model ]
Run Code Online (Sandbox Code Playgroud)

如果没有错误,我怎样才能使displayErrors返回被解释为空Html节点的东西?

rob*_*oby 20

您可以使用Html.text空字符串的节点:

emptyNode = Html.text ""
Run Code Online (Sandbox Code Playgroud)

  • 这会被优化掉吗?我担心使用这些幻像节点,因为有可能触发一些导致意外结果的CSS规则. (3认同)

Zim*_*i48 7

@robertjlooby的回答对我来说似乎很好。

但是,如果您确实不希望有任何节点,则可以使displayErrorsreturn为a Maybe (Html msg)

然后,您可以将代码更改为以下内容:

import Maybe.Extra exposing (maybeToList)

div [] ( displayErrors model |> maybeToList )
Run Code Online (Sandbox Code Playgroud)

displayErrors返回Nothing时,div将是非常空。

注意:可以使用以下命令安装Maybe.Extra模块:

elm package install elm-community/maybe-extra
Run Code Online (Sandbox Code Playgroud)