select 后 Flutter 复选框未删除 selecting
Flutter checkbox not deselecting after select
我有一个 API,它有一个值数组列表,可以成功地将值传递到我的单选按钮。当我 select 每个 select 值解析时,但我无法 deselect select 单选按钮。下面是我的颤动代码:
ListView.builder( shrinkWrap:true,
physics:const NeverScrollableScrollPhysics(),
itemCount:dataOptions == null? 0: dataOptions.length,
itemBuilder:(BuildContext context,int index) {
return Container(
padding:
const EdgeInsets
.only(
bottom:
0.0),
child: Card(
elevation: 0,
child:
ListTile(
title: Text(
dataOptions[index]['option_title']),
leading:
Radio(
value: dataOptions[index]["option_price"],
//below will be the default value.
groupValue: dataOptions[index]["option_id"],
onChanged: (value) {
setState(
() {
dataOptions[index]["option_id"] = value;
debugPrint("radioSel:$value");
});
},
activeColor: Colors.green,
),
trailing:
Text(dataOptions[index]['option_price'].toString(), style:TextStyle(fontFamily: 'Montserrat',
color: colorPink, fontWeight: FontWeight.bold,
fontSize: 15,
),
),
)));
})
由于 groupValue
存储当前选择的值并且您使用单独的 dataOptions[index]["option_id"]
作为 groupValue
所有单选按钮彼此独立。
如果这是有意为之,请选中复选框,因为它们是用于此行为的。 CheckBox
要取消选择 Radio
小部件(如果选择了组中的另一个小部件),请执行以下操作。
//Set default option if prefered
String? _groupValue;
Radio(
value: dataOptions[index]["option_price"],
groupValue: _groupValue,
onChanged: (value) {
setState(() {
_groupValue = value;
});
},
),
我有一个 API,它有一个值数组列表,可以成功地将值传递到我的单选按钮。当我 select 每个 select 值解析时,但我无法 deselect select 单选按钮。下面是我的颤动代码:
ListView.builder( shrinkWrap:true,
physics:const NeverScrollableScrollPhysics(),
itemCount:dataOptions == null? 0: dataOptions.length,
itemBuilder:(BuildContext context,int index) {
return Container(
padding:
const EdgeInsets
.only(
bottom:
0.0),
child: Card(
elevation: 0,
child:
ListTile(
title: Text(
dataOptions[index]['option_title']),
leading:
Radio(
value: dataOptions[index]["option_price"],
//below will be the default value.
groupValue: dataOptions[index]["option_id"],
onChanged: (value) {
setState(
() {
dataOptions[index]["option_id"] = value;
debugPrint("radioSel:$value");
});
},
activeColor: Colors.green,
),
trailing:
Text(dataOptions[index]['option_price'].toString(), style:TextStyle(fontFamily: 'Montserrat',
color: colorPink, fontWeight: FontWeight.bold,
fontSize: 15,
),
),
)));
})
由于 groupValue
存储当前选择的值并且您使用单独的 dataOptions[index]["option_id"]
作为 groupValue
所有单选按钮彼此独立。
如果这是有意为之,请选中复选框,因为它们是用于此行为的。 CheckBox
要取消选择 Radio
小部件(如果选择了组中的另一个小部件),请执行以下操作。
//Set default option if prefered
String? _groupValue;
Radio(
value: dataOptions[index]["option_price"],
groupValue: _groupValue,
onChanged: (value) {
setState(() {
_groupValue = value;
});
},
),