如何在Flutter中更新dropdownMenuItem?

我有2个下拉菜单。从第一个下拉菜单中选择项目时。我需要在第二个下拉菜单中添加项目,但这会导致错误。

我检查了第二个下拉菜单中的项目已经为空。当第一个下拉菜单更改为第二个下拉菜单时,该菜单项不是空的,但不起作用并给出错误提示。

有什么主意吗?

第一个下拉代码:

Widget getPolWidget() {
    return Row(
      mainAxisAlignment: MainAxisAlignment.start,children: <Widget>[
        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':不正确。

slamming123456 回答:如何在Flutter中更新dropdownMenuItem?

你好,你必须声明一个变量并传递到DropdownButton的value参数中,在onchanged方法中,必须更新该变量

String a = "fdhsa";
value:a,onchanged:(h){setState(){a=h;}},

请确保您的value参数与下拉列表中继承的列表中的参数相同

本文链接:https://www.f2er.com/3139235.html

大家都在问