如何解决"The argument type 'List<String>' can't be assigned to the parameter type 'String"



这是我的代码

final _months = [
["January", "Febuary", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"]
];
......
DropdownButtonFormField(
hint: const Text('Select Period'),
items: _months.map((e) {
return DropdownMenuItem(
value: e,                                                      
child: Text(e //here is the error showing),
);
}).toList(),
onChanged: (value) {
//do something
},
),

如何解决这个问题,我只是将月份映射值从dfault更改为dynamic,然后错误就消失了,但当我运行应用程序时,它显示了另一个错误,比如"这不是字符串"的子类型;如何解决这个问题以及为什么会发生这种情况

您有一组额外的[ ],因此您的_months变量的类型为List<List<String>>:

final _months = ["January", "Febuary", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"];

您在数组中有一个数组:正确的是:

final _months = [
"January", "Febuary", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"
];

相关内容

最新更新