如何在 flutter 中禁用特定的下拉菜单项值

How to disable a specific dropdownmenu item value in flutter

在 Flutter 中禁用下拉值

policyDropdown = ['Platinum', 'Gold', 'Sr. Citizen'],

                child: Container(
                  height: 50.0,
                  child: ListTile(
                      title: Text('Policy Type'),
                      trailing: DropdownButtonHideUnderline(
                        child: DropdownButton(
                          value: policyDropdownData,
                          items: policyDropdown.map((String value) {
                            return DropdownMenuItem(
                              child: Text(value),
                              value: value,
                            );
                          }).toList(),
                          onChanged: (String? value) {
                            setState(() {
                              policyDropdownData = value.toString();
                              
                            });
                          },
                        ),

禁用 policyDropdown 的第一个数据...我能做什么?

您可以使用 DropdownMenuItemenable 属性 并启用除 policyDropdown 列表中的第一个选项之外的所有其他选项,即 铂金".

例如:

return DropdownMenuItem(
  value: value,
  child: Text(value),
  enabled: value != 'Platinum',
);

此外,如果您想让用户知道该选项已禁用,您可以使用相同的逻辑更改文本的颜色。

return DropdownMenuItem(
  value: value,
  child: Text(
    value,
    style: TextStyle(
      color: value != 'Platinum'
          ? Colors.white
          : Colors.white60,
    ),
  ),
  enabled: value != 'Platinum',
);