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

有没有办法在Elm Html中生成空的Html节点?,elm,Elm,我正在编写一个显示错误消息的函数,因此在我看来 div [] [ displayErrors model ] 如果没有错误,如何使displayErrors返回被解释为空Html节点的内容?您可以使用带有空字符串的节点: emptyNode = Html.text "" @罗伯特鲁比的回答在我看来非常好 但是,如果您真的不想有任何节点,可以使displayErrors返回Maybe(Html msg) 然后,您可以将代码更改为以下内容: import Maybe.Extra exposing

我正在编写一个显示错误消息的函数,因此在我看来

div [] [ displayErrors model ]
如果没有错误,如何使displayErrors返回被解释为空Html节点的内容?

您可以使用带有空字符串的节点:

emptyNode = Html.text ""

@罗伯特鲁比的回答在我看来非常好

但是,如果您真的不想有任何节点,可以使
displayErrors
返回
Maybe(Html msg)

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

import Maybe.Extra exposing (maybeToList)

div [] ( displayErrors model |> maybeToList )
displayErrors
返回
Nothing
时,
div
将真正为空

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

elm package install elm-community/maybe-extra

这是否得到了优化?我担心使用这些幻影节点,因为可能会触发一些CSS规则,导致意外的结果。@jz87看起来什么都没有渲染是的,这是一个很好的解决方案。唯一的问题是,如果我在列表中使用这个。例如:div[][stuff,(displayErrors model |>maybeToList)],这实际上不起作用。我想用现有的Html函数签名并没有很好的方法来解决这个问题。可能返回的签名应该是Maybe(Html Msg)而不是Html Msg。在这种情况下,您可以连接列表:
div[]([stuff]++(displayErrors model |>maybeToList))