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;
});
},
),