2017-10-29 88 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