Flutter 当用户选中另一个复选框时,取消选中该复选框(复选框的布尔值在地图中)
我在我的应用程序中有几个复选框,当用户选中一个复选框时,我希望其他复选框都未选中。这通常一点都不难,但问题是我在地图上有了复选框的名称和bool。如何取消选中除用户选中的复选框之外的所有复选框 这是地图:Flutter 当用户选中另一个复选框时,取消选中该复选框(复选框的布尔值在地图中),flutter,dart,checkbox,boolean,Flutter,Dart,Checkbox,Boolean,我在我的应用程序中有几个复选框,当用户选中一个复选框时,我希望其他复选框都未选中。这通常一点都不难,但问题是我在地图上有了复选框的名称和bool。如何取消选中除用户选中的复选框之外的所有复选框 这是地图: Map<String, bool> filterOptions = { 'Test1': false, 'Test2': false, }; 你要找的不是一个复选框,而是一个。一次只能选择一个单选按钮,无需手动检查状态。但是,如果您坚持使用复选框,则可以遍历地图 filt
Map<String, bool> filterOptions = {
'Test1': false,
'Test2': false,
};
你要找的不是一个复选框,而是一个。一次只能选择一个单选按钮,无需手动检查状态。但是,如果您坚持使用复选框,则可以遍历地图
filterOptions.forEach((key, value) => filterOptions[key] = false);
如果将值设置为false,则只需更改值的副本。您可能会考虑放弃映射并选择单个代码> int选择框变量.< /P> < P>复选框的目的是用于多用户组选择。 换句话说,如果您想在用户选择其他选项时取消选择,则 单选按钮 这是最好的选择
SingingCharacter _character = SingingCharacter.lafayette;
Widget build(BuildContext context) {
return Column(
children: <Widget>[
ListTile(
title: const Text('Male'),
leading: Radio(
value: SingingCharacter.lafayette,
groupValue: _character,
onChanged: (SingingCharacter value) {
setState(() {
_character = value;
});
},
),
),
ListTile(
title: const Text('Female'),
leading: Radio(
value: SingingCharacter.jefferson,
groupValue: _character,
onChanged: (SingingCharacter value) {
setState(() {
_character = value;
});
},
),
),
],
);
}
SingingCharacter\u character=SingingCharacter.lafayette;
小部件构建(构建上下文){
返回列(
儿童:[
列表砖(
标题:常量文本(“男性”),
领先:无线电(
值:SingingCharacter.lafayette,
groupValue:_字符,
onChanged:(SingingCharacter值){
设置状态(){
_字符=值;
});
},
),
),
列表砖(
标题:常量文本(“女性”),
领先:无线电(
值:SingingCharacter.jefferson,
groupValue:_字符,
onChanged:(SingingCharacter值){
设置状态(){
_字符=值;
});
},
),
),
],
);
}
截图
资料来源:
SingingCharacter _character = SingingCharacter.lafayette;
Widget build(BuildContext context) {
return Column(
children: <Widget>[
ListTile(
title: const Text('Male'),
leading: Radio(
value: SingingCharacter.lafayette,
groupValue: _character,
onChanged: (SingingCharacter value) {
setState(() {
_character = value;
});
},
),
),
ListTile(
title: const Text('Female'),
leading: Radio(
value: SingingCharacter.jefferson,
groupValue: _character,
onChanged: (SingingCharacter value) {
setState(() {
_character = value;
});
},
),
),
],
);
}