2016-06-27 10 views
2

ビュー機能内でカスタムタイプのリストをレンダリングするのに苦労します。 これはモデルです:elmでのリストのレンダリング方法は?

type alias Guid = String 
type alias User = String 

type alias TaxonomyCategory = 
    { id : Guid 
    , name: String 
    , updatedAt: Date 
    , updatedBy: User 
    , terms: List TaxonomyTerm 
    } 

type TaxonomyTerm = 
    TaxonomyTerm 
    { id : Guid 
    , name: String 
    , terms: List TaxonomyTerm 
    } 

私はList.map機能を持ついくつかのアプローチを試みたが、私は常に、エラー・メッセージのいくつかの種類になってしまいました。

The 2nd argument to function `ul` is causing a mismatch. 

120|  ul 
121|   [] 
122|>  [ List.map renderTaxonomyTerm tc.terms ] 

Function `ul` is expecting the 2nd argument to be: 

    List (VirtualDom.Node a) 

But it is: 

    List (List (Html a)) 

答えて

6

ulの2番目のパラメータは、Html要素のリストにする必要があります。 2番目の値には、カッコで囲まれているので、リスト内のリストが含まれています。これにそれを変更すると、あなたの問題を解決する必要があります。ulを使用するための

ul 
    [] 
    (List.map renderTaxonomyTerm tc.terms) 
+0

私は試しましたが、別のエラーがあります。http://i.imgur.com/K03aq5D.png –

+0

TaxonomyTermを新しいタイプではなくタイプエイリアスとして定義したいと思っていますか? 'typeNias TaxonomyTerm = {id:Guid、...}' –

+0

しかしTaxonomyTermの再帰型に関してエラーが出る –

0

は前の回答を参照してください。チャドに感謝します。

私は追加しました。再帰的なレコードは作成できません。 type TaxonomyTerm = TaxonomyTerm Guid String (List TaxonomyTerm)のような構造を作成する必要があります。

関連する問題