2017-10-29 85 views
0

我有以下类型的模型:榆树郎将列表中的元素到父容器

type alias NetworkList = 
    { networks : (List Network) } 

type alias Network = 
    { name: String } 

一旦我加载它们,我要显示在取景功能的UL列表。我发现这种解决方案通过每个孩子在列表进行迭代:

networkPickContent: NetworkList -> Html Msg 
networkPickContent networks = 
    networks 
     |> List.map networkRow 
     |> ul [ class "my_class" ] 


networkRow: Network -> Html Msg 
networkRow network = 
    li [] [ text network.name ] 

却无法真正使工作,调试器返回错误:

The right side of (|>) is causing a type mismatch. 

    networks 
     |> List.map networkRow 

(|>) is expecting the right side to be a: 

    NetworkList -> a 

But the right side is: 

    List Network -> List (Html Msg) 

我在做什么错在这案件?为了这种目的使用List.map是否合理?还是有更好的方法来显示所有的子元素?

+1

只是一个笔记,现在你有解决方案。没有理由你不能说'输入别名NetworkList = List Network'。 – z5h

回答

2

NetworkList是以网络作为关键字的记录。尝试以下代替

networkPickContent: NetworkList -> Html Msg 
networkPickContent networkList = 
    networkList.networks 
     |> List.map networkRow 
     |> ul [ class "my_class" ] 
+1

嗨@Simon,非常感谢!该死的,我不敢相信我错过了这个。祝你有美好的一天! – Ilya