如何在榆树中呈现列表?
How to render list in 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))
ul
的第二个参数应该是 Html 个元素的列表。您的第二个值包含列表中的列表,因为您用括号将其括起来。将其更改为此应该可以解决您的问题:
ul
[]
(List.map renderTaxonomyTerm tc.terms)
要使用 ul
,请参阅上一个答案。感谢乍得。
我有一个补充。您不能创建递归记录。您应该创建类似 type TaxonomyTerm = TaxonomyTerm Guid String (List TaxonomyTerm)
.
的结构
我很难在视图函数中呈现自定义类型列表。 这是型号:
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))
ul
的第二个参数应该是 Html 个元素的列表。您的第二个值包含列表中的列表,因为您用括号将其括起来。将其更改为此应该可以解决您的问题:
ul
[]
(List.map renderTaxonomyTerm tc.terms)
要使用 ul
,请参阅上一个答案。感谢乍得。
我有一个补充。您不能创建递归记录。您应该创建类似 type TaxonomyTerm = TaxonomyTerm Guid String (List TaxonomyTerm)
.