我有这个代码:
child: Column(
children: [
Text(i.description),
i.colors.map<Widget>(
(colours) => CheckboxListTile(
title: Text(colors),
value: i[colors],
onChanged: (colors){
setState(() {
i[colors] = colors;
});
},
).toList()
],
)
我想显示每个对象中每种颜色的复选按钮,但它抛出了这个错误:
键入'List<小工具>'不是"Widget"类型的子类型
如何修复它?
您得到错误是因为Column.children
需要一个"simple"数组。但是您给出了一个带有Text
的数组和另一个数组(i.colors.map<>(___).toList()
(,所以您得到了错误。
在列表前添加排列运算符...
,它将打开它:
child: Column(
children: [
Text(i.description),
...i.colors.map<Widget>(
(colours) => CheckboxListTile(
title: Text(colors),
value: i[colors],
onChanged: (colors){
setState(() {
i[colors] = colors;
});
},
).toList()
],
)