我不明白在从子项中删除方括号 [] 后我们如何使用列小部件。我想从字符串元素列表创建卡片列表。我使用了地图方法来做到这一点。
我在列小部件内使用地图方法,它不断显示错误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(),]
)
],
)
Run Code Online (Sandbox Code Playgroud)
然后
Column(
children: flights.map(
(element) => Card(
child: Column(
children: <Widget>[
Image.asset('images/flight.jfif'),
Text(element)
],
),
),
).toList(),
)
],
)
Run Code Online (Sandbox Code Playgroud)
第一个代码片段显示了元素类型“List”无法分配给列表类型“Widget”的错误。
第二个没有显示任何错误
因为孩子们需要小部件列表。但在第一种情况下,它会获取列表列表,因为Flights.map将返回卡小部件列表。所以它变得像
Column(
children:[ []
],
)
Run Code Online (Sandbox Code Playgroud)
但在第二种情况下,孩子们只获得所需的小部件列表。于是就变成了,
Column(
children: []
)
Run Code Online (Sandbox Code Playgroud)
这是正确的格式。
| 归档时间: |
|
| 查看次数: |
8955 次 |
| 最近记录: |