Flutter 颤振:失败的断言下拉列表
我试图创建一个包含三个下拉按钮的行,但我不明白为什么会出现这个错误Flutter 颤振:失败的断言下拉列表,flutter,dart,Flutter,Dart,我试图创建一个包含三个下拉按钮的行,但我不明白为什么会出现这个错误 应该只有一个项目具有[DropdownButton]的值:jan。 检测到零个或2个或更多具有相同值的[DropdownMenuItem] “包装:颤振/src/material/dropdown.dart”: 断言失败:第805行第15位:“items==null | | items.isEmpty | | value==null|| 项目。其中((DropdownMenuItem项目){ 返回项。值==值; }).lengt
应该只有一个项目具有[DropdownButton]的值:jan。
检测到零个或2个或更多具有相同值的[DropdownMenuItem]
“包装:颤振/src/material/dropdown.dart”:
断言失败:第805行第15位:“items==null | | items.isEmpty | | value==null||
项目。其中((DropdownMenuItem项目){
返回项。值==值;
}).length==1'
这是我的初始值和我在下拉按钮值中使用的列表
var selected="Arabic";
var select="pyramid";
var sel="jan";
List<String> languageList = ['Arabic','English','French','Germen'];
List<String> placeList = ['pyramid','park','zoo','garden'];
List<String> dateList = ['jan','feb','march','april'];
var selected=“阿拉伯语”;
var select=“金字塔”;
var sel=“jan”;
列表语言列表=[“阿拉伯语”,“英语”,“法语”,“德语];
列表placeList=[‘金字塔’、‘公园’、‘动物园’、‘花园’];
列表日期列表=['一月','二月','三月','四月'];
这就是我试图创建的行
Row(
children: <Widget>[
DropdownButton<String>(
value: selected ,
items: languageList.map((language){
return DropdownMenuItem(
value: language ,
child: Text(language),
);
}).toList(),
onChanged: (vr){
setState(() {
selected=vr;
});
},
),
DropdownButton<String>(
value: select ,
items: placeList.map((place){
return DropdownMenuItem(
value: place ,
child: Text(place),
);
}).toList(),
onChanged: (ve){
setState(() {
select=ve;
});
},
),
DropdownButton<String>(
value: sel ,
items: languageList.map((dat){
return DropdownMenuItem(
value: dat ,
child: Text(dat),
);
}).toList(),
onChanged: (vm){
setState(() {
sel=vm;
});
},
),
],
),
行(
儿童:[
下拉按钮(
值:选中,
条目:languageList.map((语言){
返回下拉菜单项(
价值观:语言,
儿童:文本(语言),
);
}).toList(),
更改后:(vr){
设置状态(){
所选=vr;
});
},
),
下拉按钮(
值:选择,
项目:placeList.map((地点){
返回下拉菜单项(
价值:地点,
子:文本(位置),
);
}).toList(),
一旦更改:(ve){
设置状态(){
选择=ve;
});
},
),
下拉按钮(
值:sel,
条目:languageList.map((dat){
返回下拉菜单项(
值:dat,
子:文本(dat),
);
}).toList(),
一旦更改:(虚拟机){
设置状态(){
sel=vm;
});
},
),
],
),
有人能帮我吗?您两次使用相同的语言列表,并将所选对象的值设置为日期“jan” 第三个下拉输入列表是languageList,但您将所选项目命名为“Jan”,该项目不在列表中。。将输入列表更改为日期列表
Row(
children: <Widget>[
DropdownButton<String>(
value: selected ,
items: languageList.map((language){
return DropdownMenuItem(
value: language ,
child: Text(language),
);
}).toList(),
onChanged: (vr){
setState(() {
selected=vr;
});
},
),
DropdownButton<String>(
value: select ,
items: placeList.map((place){
return DropdownMenuItem(
value: place ,
child: Text(place),
);
}).toList(),
onChanged: (ve){
setState(() {
select=ve;
});
},
),
DropdownButton<String>(
value: sel ,
items: dateList.map((dat){ //changes need to done
return DropdownMenuItem(
value: dat ,
child: Text(dat),
);
}).toList(),
onChanged: (vm){
setState(() {
sel=vm;
});
},
),
],
),
行(
儿童:[
下拉按钮(
值:选中,
条目:languageList.map((语言){
返回下拉菜单项(
价值观:语言,
儿童:文本(语言),
);
}).toList(),
更改后:(vr){
设置状态(){
所选=vr;
});
},
),
下拉按钮(
值:选择,
项目:placeList.map((地点){
返回下拉菜单项(
价值:地点,
子:文本(位置),
);
}).toList(),
一旦更改:(ve){
设置状态(){
选择=ve;
});
},
),
下拉按钮(
值:sel,
项:dateList.map((dat){//需要进行更改
返回下拉菜单项(
值:dat,
子:文本(dat),
);
}).toList(),
一旦更改:(虚拟机){
设置状态(){
sel=vm;
});
},
),
],
),
您两次使用相同的语言列表,并将所选对象的值设置为日期“jan”
第三个下拉输入列表是languageList,但您将所选项目命名为“Jan”,该项目不在列表中。。将输入列表更改为日期列表
Row(
children: <Widget>[
DropdownButton<String>(
value: selected ,
items: languageList.map((language){
return DropdownMenuItem(
value: language ,
child: Text(language),
);
}).toList(),
onChanged: (vr){
setState(() {
selected=vr;
});
},
),
DropdownButton<String>(
value: select ,
items: placeList.map((place){
return DropdownMenuItem(
value: place ,
child: Text(place),
);
}).toList(),
onChanged: (ve){
setState(() {
select=ve;
});
},
),
DropdownButton<String>(
value: sel ,
items: dateList.map((dat){ //changes need to done
return DropdownMenuItem(
value: dat ,
child: Text(dat),
);
}).toList(),
onChanged: (vm){
setState(() {
sel=vm;
});
},
),
],
),
行(
儿童:[
下拉按钮(
值:选中,
条目:languageList.map((语言){
返回下拉菜单项(
价值观:语言,
儿童:文本(语言),
);
}).toList(),
更改后:(vr){
设置状态(){
所选=vr;
});
},
),