2016-06-27 2 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의 두 번째 매개 변수는 HTML 요소 목록이어야합니다. 두 번째 값에는 대괄호로 묶은 목록이 포함되어 있습니다. 이로 변경하면 문제를 해결해야합니다 ul을 사용하기 위해

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

나는 그것을 시도했지만 다른 오류가 있습니다. http://i.imgur.com/K03aq5D.png –

+0

TaxonomyTerm을 새로운 유형 대신 유형 별칭으로 정의하려고합니다. 'type alias TaxonomyTerm = {id : Guid, ...}' –

+0

하지만 TaxonomyTerm에서 재귀 적 타입에 관한 에러가 발생합니다 –

0

이전 대답을 참조하십시오. 차드에게 감사드립니다.

나는 추가했다. 재귀 레코드는 만들 수 없습니다. type TaxonomyTerm = TaxonomyTerm Guid String (List TaxonomyTerm)과 같은 구조를 만들어야합니다.

관련 문제