flutter - Flutter如何通过for循环显示列表
问题描述
我创建了一个简单的列表以通过 for 循环显示它。
List categories = [
{
{
'CatID': '0',
'CatName': 'All'
},
{
'CatID': '1',
'CatName': 'Computer Hardware'
},
{
'CatID': '2',
'CatName': 'Computer Software'
},
}
];
然后我定义一个像这样的小部件
List<Widget> CatWidget = List<Widget>();
然后我像这样使用它
for (int i = 0; i < 8; i++) {
CatWidget.add(
Container(
child: Text(categories[i]['CatName']),
),
);
}
它的显示错误Class '_CompactLinkedHashSet<Map<String, String>>' has no instance method '[]'.
解决方案
您可以使用 list.generate 遍历您的列表并返回一个小部件。
Column(
children: List.generate(
tags.length,
(index) => Container(
// margin: EdgeInsets.symmetric(),
child: NativeButton(
borderRadius: BorderRadius.circular(4),
padding: EdgeInsets.symmetric(
vertical: sizeConfig.height(.01),
horizontal: sizeConfig.width(.02),
),
color: Colors.grey[200],
child: Text(tags[index]),
),
),
),
),
推荐阅读
- java - 使用 Apache POI 更新瀑布图
- c++ - 石头、纸、剪刀程序游戏
- rust - 为什么与匹配保护相同的 const 结构编译但不作为匹配模式?
- jquery - 在选项内添加一个按钮
- android - ... 'app' 中的 android 项目已解决的 Google Play 服务库依赖项依赖于另一个确切版本
- python - 如何在绘图上找到不可微分的点?
- mvvmcross - 如何在 MvvmCross WPF 中使用 ReactiveUI 命令?
- javascript - 使用 javascript(node.js) 创建坐姿
- python - 在 Ubuntu 上自动启动 python 脚本
- python - if elif else 语句 - 如何使一个工作高于其他工作?