[英]In multiple dropdown menu, how to disable an option if already selected in Flutter?
I have 4 different dropdown fields with 5 options and I want to disable/remove an option from other fields if the option is already selected.我有 4 个不同的下拉字段和 5 个选项,如果已选择该选项,我想从其他字段中禁用/删除该选项。
Screenshot: Screenshot 1 Screenshot 2截图:截图 1截图 2
DropDown Menu Code:下拉菜单代码:
String opemo1, opemo2, opemo3, opemo4; List<String> emoji = [ "❤️", "", "✌️", "", "", ];
DropdownButtonFormField( validator: (value) => value == null? 'required': null, hint: Text('❤️'), value: opemo1, icon: Icon(Icons.arrow_drop_down), iconSize: 36, isExpanded: true, style: TextType.regularDarkText, onChanged: (newValue) { setState(() { opemo1 = newValue; pollDataController.setop1Emoji(newValue); }); }, items: emoji.map((opemo1) { return DropdownMenuItem( value: opemo1, child: Text(opemo1), ); }).toList(), ),
To manage it you need to remove the selected emoji from List<String> emoji
.要管理它,您需要从
List<String> emoji
中删除选定的表情符号。
onChanged: (newValue) {
setState(() {
emoji.removeWhere((element) => element == newValue); /// This removed selected emoji.
opemo1 = newValue;
pollDataController.setop1Emoji(newValue);
});
},
You can replace your onChanged
with this snippet.您可以使用此代码段替换您的
onChanged
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.