从嵌套列表<Object> 中获取数据并将其显示在小部件上
Get data from a nested List<Object> and display it on a widget
我有一个名为 userList 的列表
List userLIst = [{NAME: John, SURNAME: Doe, DATE: 24/8/2021, DESCRIPTION: Some words}, {...}, {...}];
我想引用那个列表并使用 List.generate(userList.length, index) => Container(display data from the list),所以我可以显示卡片中的所有数据。可以这样做吗?
是的,这是可能的。您必须遍历列表,根据每个地图数据生成小部件,如下所示:
for (var i in userLIst)
Column(children:[
Text(i.keys)
Text(i.values),
])
我使用 for 循环而不是 List.generate。参考 了解更多信息。
您应该对列表使用 map 方法:
final widgetList = userList.map((element) => Container(child: Text(element['NAME']))).toList();
您可以在构建方法中的 ListView
或 Column
小部件中显示此列表。
class YourView extends StatelessWidget{
Widget build(){
final widgetList = userList.map<Widget>((element) => Container(child:
Text(element['NAME']))).toList();
return ListView(
children: widgetList,
);
}
}
我有一个名为 userList 的列表
List userLIst = [{NAME: John, SURNAME: Doe, DATE: 24/8/2021, DESCRIPTION: Some words}, {...}, {...}];
我想引用那个列表并使用 List.generate(userList.length, index) => Container(display data from the list),所以我可以显示卡片中的所有数据。可以这样做吗?
是的,这是可能的。您必须遍历列表,根据每个地图数据生成小部件,如下所示:
for (var i in userLIst)
Column(children:[
Text(i.keys)
Text(i.values),
])
我使用 for 循环而不是 List.generate。参考
您应该对列表使用 map 方法:
final widgetList = userList.map((element) => Container(child: Text(element['NAME']))).toList();
您可以在构建方法中的 ListView
或 Column
小部件中显示此列表。
class YourView extends StatelessWidget{
Widget build(){
final widgetList = userList.map<Widget>((element) => Container(child:
Text(element['NAME']))).toList();
return ListView(
children: widgetList,
);
}
}