如何在 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 的第一个数据...我能做什么?
您可以使用 DropdownMenuItem
的 enable
属性 并启用除 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',
);
在 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 的第一个数据...我能做什么?
您可以使用 DropdownMenuItem
的 enable
属性 并启用除 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',
);