热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

如何在Flutter中更新dropdownMenuItem?

我有2个下拉菜单。从第一个下拉菜单中选择项目时。我需要在第二个下拉菜单中

我有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参数与下拉列表中继承的列表中的参数相同


推荐阅读
author-avatar
谦谦骄子_458
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有