Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flutter 类型';列表<;Widget>';不是类型为';小部件';在widget的动态属性中_Flutter_Dart - Fatal编程技术网

Flutter 类型';列表<;Widget>';不是类型为';小部件';在widget的动态属性中

Flutter 类型';列表<;Widget>';不是类型为';小部件';在widget的动态属性中,flutter,dart,Flutter,Dart,我有以下代码: child:Column( 儿童:[ 文本(即描述), i、 颜色.地图( (颜色)=>CheckboxListTile( 标题:文本(颜色), 值:i[颜色], 一旦更改:(颜色){ 设置状态(){ i[颜色]=颜色; }); }, )托利斯先生() ], ) 我想为每个对象中存在的每种颜色显示复选按钮,但它会引发以下错误: 类型“List”不是类型“Widget”的子类型 如何修复它?您得到了错误,因为列。children需要一个“简单”数组。但是您给出了一个包含文本的数组

我有以下代码:

child:Column(
儿童:[
文本(即描述),
i、 颜色.地图(
(颜色)=>CheckboxListTile(
标题:文本(颜色),
值:i[颜色],
一旦更改:(颜色){
设置状态(){
i[颜色]=颜色;
});
},
)托利斯先生()
],
)
我想为每个对象中存在的每种颜色显示复选按钮,但它会引发以下错误:

类型“List”不是类型“Widget”的子类型


如何修复它?

您得到了错误,因为
列。children
需要一个“简单”数组。但是您给出了一个包含
文本的数组和另一个数组(
I.colors.map(\uuuuuuu).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()
   ],
  )
child:Column(
儿童:[
文本(即描述),
…i.colors.map(
(颜色)=>CheckboxListTile(
标题:文本(颜色),
值:i[颜色],
一旦更改:(颜色){
设置状态(){
i[颜色]=颜色;
});
},
)托利斯先生()
],
)

您得到错误是因为
列。children
需要一个“简单”数组。但是您给出了一个包含
文本的数组和另一个数组(
i.colors.map(\uuuuu).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()
   ],
  )
child:Column(
儿童:[
文本(即描述),
…i.colors.map(
(颜色)=>CheckboxListTile(
标题:文本(颜色),
值:i[颜色],
一旦更改:(颜色){
设置状态(){
i[颜色]=颜色;
});
},
)托利斯先生()
],
)