我非常begginer在扑动,我试图把4下拉按钮,当我改变第二个我得到错误的值:
应该只有一个项目具有[DropdownButton]的值:美元。检测到零个、2个或更多个[DropdownMenuItem]具有相同的值"package:dropdown_button2/dropdown_button2.dart":package:下拉按钮2/下拉按钮2.dart:1Assert失败:第1128行位置11:'项目==空||items.isEmpty||值==空||项目. where((下拉菜单项目){返回项目.值==值;}).长度== 1 '
这是第一个工作:
String lang = 'English';
var items = [
'English',
'Polish',
];
DropdownButtonHideUnderline(
child: DropdownButton2(
items: items
.map(
(item) => DropdownMenuItem<String>(
value: item,
child: Text(
item,
style: const TextStyle(
fontSize: 14,
),
),
),
)
.toList(),
value: lang,
onChanged: (String? newValue) {
setState(() {
lang = newValue!;
});
},
),
),
第二个不是
String currency = 'Dollars';
var curriencies = [
'Dollar',
'Euro',
'PLN',
'Funts',
];
DropdownButtonHideUnderline(
child: DropdownButtonFormField2(
items: curriencies
.map(
(currency) => DropdownMenuItem<String>(
value: currency,
child: Text(
currency,
style: const TextStyle(
fontSize: 14,
),
),
),
)
.toList(),
value: currency,
onChanged: (String? newValue) {
setState(() {
currency = newValue!;
});
},
我更改了值,但它仍然相同
2条答案
按热度按时间vcudknz31#
错误提示为
Either zero or 2 or more [DropdownMenuItem]s were detected with the same value
。货币变量的值为美元,而货币列表中没有美元,因此它给出了空值错误。将货币值从美元更改为美元:-ibps3vxo2#
您得到该错误是因为,在Flutter下拉菜单中,当前值必须是当前下拉选项列表中的第一个值。
因此,下拉列表中的第一个值应该是“美元”,您的可变货币也应该是“美元”。