如何解决 Flutter 中的"There should be exactly one item with [DropdownButton]'s value: null."错误?



我想从数据库中得到一些细节,并把这些值下拉菜单。我已经成功地从数据库中获得了我想要放在下拉列表中的信息,并将其放入下拉列表中。

但是当我尝试从下拉列表中选择一个项目时,它显示了这个错误。

应该有一个项目[DropdownButton]的值:null。0或2或更多的[DropdownMenuItem]被检测到具有相同的值

这是我目前为止写的代码。

<<p>变量/strong>
var supplier;
var _supplierDetails = [];

Init方法

@override
void initState() {
super.initState();
getSupliers();
}

得到供应商

void getSupliers() async {
final responseSup =
await http.get(Uri.parse('http://170.14.0.0:8020/supplier/'));
final jsonDataSup = jsonDecode(responseSup.body) as List;
print(jsonDataSup);
setState(() {
_supplierDetails = jsonDataSup;
});
}

下拉菜单实现

DropdownButton(
hint: Text('Select Supplier'),
items: _supplierDetails.map((list) {
return DropdownMenuItem(
child: Text(list['Name']),
value: list['id'].toString(),
);
}).toList(),
onChanged: (value) {
setState(() {
supplier = value;
});
},
value: supplier,
)

有人能帮我解决这个问题吗?谢谢你

似乎不止一个项目item['id']为空。DropdownButton需要它的所有项都有一个唯一的值