gpt4 book ai didi

flutter - flutter :断言失败下拉列表

转载 作者:行者123 更新时间:2023-12-03 03:57:13 24 4
gpt4 key购买 nike

我正在尝试创建包含三个下拉按钮的行,但是此错误我无法理解为什么会出现

There should be exactly one item with [DropdownButton]'s value: jan. 
Either zero or 2 or more [DropdownMenuItem]s were detected with the same value
'package:flutter/src/material/dropdown.dart':
Failed assertion: line 805 pos 15: 'items == null || items.isEmpty || value == null ||
items.where((DropdownMenuItem<T> item) {
return item.value == value;
}).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'];

这是我要创建的行
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;
});
},
),
],
),

有人可以帮我吗?

最佳答案

您正在使用“相同语言”列表两次,并且将所选对象作为日期的值“jan”

第三个下拉输入列表是语言列表,但是您将所选项目作为“Jan”提供,但不在列表中。.将输入列表更改为 dateList

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

关于flutter - flutter :断言失败下拉列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60095542/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com