无线电列表磁贴最初应取消选中



我有一个Radio列表磁贴,我在其中设置性别(男性、女性和其他)。最初,列表磁贴是在"男性"上选中的。我可以将其设置为初始未检查,以便用户可以自己检查吗?

Container(
width: 400
height: 200
RadioListTile<Gender?>(
title: Text(
radioLabel == Gender.man
? 'MR.': radioLabel ==Gender.women
? 'Ms.': 'other',
),
value: radioLabel,
groupValue: widget.Gender.value,
onChanged: (Gender? value) {
if (value != null) {
setState(() {
widget.Gender.value = value;
});
}
},
),
)

在初始状态下,您可以决定是否选择单选项它们中的任何一个通过CCD_ 1使用。

你可以在这里试试

var initial = -1;
setChecked(item) {
setState(() {
initial = item;
});
}
ListView(
children: [
RadioListTile(
title: Text('spam_ad'),
value: 0,
groupValue: initial,
onChanged: setChecked),
RadioListTile(
title: Text('sexual_harassment'),
value: 1,
groupValue: initial,
onChanged: setChecked),
RadioListTile(
title: Text('other_harassment'),
value: 2,
groupValue: initial,
onChanged: setChecked),
RadioListTile(
title: Text('other'),
value: 3,
groupValue: initial,
onChanged: setChecked),
],
)

您必须指定可为null的groupValue,当您用某个值初始化它时,RadioListTile将分别重新绘制

Gender? myGroupValue = null;
// other code
Center(
child: Container(
width: 400,
height: 200,
child: Column(
children: [
RadioListTile< Gender?>(
title: Text('Man'),
groupValue: myGroupValue,
value: Gender.man,
onChanged: (Gender? value) {}),
RadioListTile<String?>(
title: Text('Woman'),
groupValue: myGroupValue,
value: Gender.woman,
onChanged: (Gender? value) {}),
],
),
),
),

最新更新