Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flutter 当用户选中另一个复选框时,取消选中该复选框(复选框的布尔值在地图中)_Flutter_Dart_Checkbox_Boolean - Fatal编程技术网

Flutter 当用户选中另一个复选框时,取消选中该复选框(复选框的布尔值在地图中)

Flutter 当用户选中另一个复选框时,取消选中该复选框(复选框的布尔值在地图中),flutter,dart,checkbox,boolean,Flutter,Dart,Checkbox,Boolean,我在我的应用程序中有几个复选框,当用户选中一个复选框时,我希望其他复选框都未选中。这通常一点都不难,但问题是我在地图上有了复选框的名称和bool。如何取消选中除用户选中的复选框之外的所有复选框 这是地图: Map<String, bool> filterOptions = { 'Test1': false, 'Test2': false, }; 你要找的不是一个复选框,而是一个。一次只能选择一个单选按钮,无需手动检查状态。但是,如果您坚持使用复选框,则可以遍历地图 filt

我在我的应用程序中有几个复选框,当用户选中一个复选框时,我希望其他复选框都未选中。这通常一点都不难,但问题是我在地图上有了复选框的名称和bool。如何取消选中除用户选中的复选框之外的所有复选框

这是地图:

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;
              });
            },
          ),
        ),
      ],
    );
  }