gpt4 book ai didi

flutter - 元素类型 'List' 无法分配给列表类型 'Widget'

转载 作者:行者123 更新时间:2023-12-03 03:16:42 25 4
gpt4 key购买 nike

我不明白在从子项中删除方括号[]后我们如何使用列小部件。我想从字符串元素列表创建卡片列表。我使用了map方法来做到这一点。

我在列小部件内使用 map 方法,它不断显示错误 The element type 'List<Card>' can't be assigned to the list type 'Widget' 。我通过将 Flights.map((element){}) 包装在另一个列小部件中,然后删除子项的 [] 来解决这个问题。

Column(
children:[ flights.map(
(element) => Card(
child: Column(
children: <Widget>[
Image.asset('images/flight.jfif'),
Text(element)
],
),
),
).toList(),]
)
],
)

之后

Column(
children: flights.map(
(element) => Card(
child: Column(
children: <Widget>[
Image.asset('images/flight.jfif'),
Text(element)
],
),
),
).toList(),
)
],
)

第一个代码片段显示了元素类型“List”无法分配给列表类型“Widget”的错误。

第二个没有显示任何错误

最佳答案

因为 child 需要小部件列表。但在第一种情况下,它会获取列表列表,因为 flights.map 将返回卡片小部件列表。所以它就变成了,

Column(
children:[ []
],
)

但在第二种情况下,children 仅获取所需的小部件列表。于是就变成了,

Column(
children: []
)

这是正确的格式。

关于flutter - 元素类型 'List<Card>' 无法分配给列表类型 'Widget',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57123222/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com