我正在尝试从ELM中的简单数组构建元素列表。预期结果实际上只是一个元素列表,其中第一项为1,第二项为2,依此类推。
import Html exposing (..)
import Html.Attributes exposing (class, id)
import List exposing (map)
theArray = [1,2,3,4,5,6]
createListItem item =
li [] [ text (toString item)]
buildList collection =
map createListItem collection
builtList = ul [] [(buildList theArray)]
main =
builtList
但是我一直在第十三行遇到编译器错误。我尝试将map元素注释为html,但看不到该怎么做。
The 2nd argument to function `ul` is causing a mismatch.
*13| builtList = ul [] [(buildList theArray)]*
Function `ul` is expecting the 2nd argument to be:
List VirtualDom.Node
But it is:
List (List Html)
最佳答案
buildList
已经返回了List Html
类型的值,因此您不需要在(buildList theArray)
周围使用方括号。将第13行更改为:
builtList = ul [] (buildList theArray)