作者:谦谦骄子_458 | 来源:互联网 | 2023-08-10 12:36
我有2个下拉菜单。从第一个下拉菜单中选择项目时。我需要在第二个下拉菜单中添加项目,但这会导致错误。
我检查了第二个下拉菜单中的项目已经为空。当第一个下拉菜单更改为第二个下拉菜单时,该菜单项不是空的,但不起作用并给出错误提示。
有什么主意吗?
第一个下拉代码:
Widget getPolWidget() {
return Row(
mainAxisAlignment: MainAxisAlignment.start,children: [
Icon(
Icons.touch_app,size: 25.0,color: Colors.black,),SizedBox(width: 50.0),DropdownButton(
items: this.polList
.map((value) => DropdownmenuItem(
child: Text(
value.code,style: TextStyle(color: Colors.black),value: value.id,))
.toList(),onChanged: (selectedType) {
getpod(selectedType);
setState(() {
selectedpodId = selectedType;
});
},value: selectedpodId,isExpanded: false,hint: Text(
'Choose Type',)
],);
}
Widget getpodWidget() {
return Row(
mainAxisAlignment: MainAxisAlignment.start,DropdownButton(
items: this.podList
.map((value) => DropdownmenuItem(
child: Text(
value.code,onChanged: (selectedType) {
setState(() {
selectedpodId = selectedType;
print(selectedpodId);
});
},);
}
错误消息:'package:flutter / src / material / dropdown.dart':失败的断言:620行pos 15:'item == null || items.isEmpty ||值== null || items.where(((DropdownmenuItem item)=> item.value == value).length == 1':不正确。
你好,你必须声明一个变量并传递到DropdownButton的value参数中,在onchanged方法中,必须更新该变量
String a = "fdhsa";
value:a,onchanged:(h){setState(){a=h;}},
请确保您的value参数与下拉列表中继承的列表中的参数相同