我想在氮气中创建一个html列表,但无法弄清楚如何做到这一点。基本上我想输出:
<ul>
<li>One</li>
<li>Two</li>
</ul>
我在我的Nitrogen发行版中找到了apps / nitrogen / src / elements / html下的列表的一些来源,所以看起来有一个元素可以做到这一点,但我没有尝试使用元素编译。有人可以提供一个会产生上述HTML的片段吗?
答案 0 :(得分:4)
这是一个使用#list和#listitem氮元素而不是原始HTML的版本。
body() ->
List = ["Apple","Orange","Banana"],
#list{
body=[#listitem{body=Fruit} || Fruit <- ListOfFruit]
}.
对于任何比这更复杂的表达,我通常会从列表推导切换到lists:map/2
答案 1 :(得分:1)
只需使用你的erlang字符串并列出这样的manips:
body()-> Items = ["Joe Armstrong","Robert Virding","Mike Williams"], UL = "<ul>" ++ lists:flatten(["<li>" ++ X ++ "</li>" || X <- Items]) ++"</ul>", [ #panel{body=[ UL, #br{}, #button {text="Continue", postback=continue} ]} ].
您有一个项目列表,列表可以来自数据库或任何其他内容。列表项应该是字符串,以便tis运行良好,如果是不同的类型,则需要先进行转换。然后是列表理解,然后你将整个列表弄平为一件事。希望它有所帮助!