如何在 Flutter 中获取单选按钮的值
How to get Radio button value in Flutter
我在 flutter 应用程序中使用以下代码进行性别选择。在这里,这工作正常,但我无法检索文本格式的性别值。我应该怎么做?
final gender = Padding(
padding: EdgeInsets.only(top: 0.0),
child: Row(
children: <Widget>[
Radio(
value: 0,
groupValue: _genderRadioBtnVal,
onChanged: _handleGenderChange,
),
Text("Male"),
Radio(
value: 1,
groupValue: _genderRadioBtnVal,
onChanged: _handleGenderChange,
),
Text("Female"),
Radio(
value: 2,
groupValue: _genderRadioBtnVal,
onChanged: _handleGenderChange,
),
Text("Other"),
],
),
);
void _handleGenderChange(int value) {
setState(() {
_genderRadioBtnVal = value;
});
}
因为您使用的值是 0、1、2,所以您在 onChanged.If 中得到它,您需要像 "Male"、"Female" 和 "other" 这样的字符串值,您可以把你的值改成String类型,给它们适当的值。
Row(
children: <Widget>[
Radio<String>(
value: "Male",
groupValue: _genderRadioBtnVal,
onChanged: _handleGenderChange,
),
Text("Male"),
Radio<String>(
value: "Female",
groupValue: _genderRadioBtnVal,
onChanged: _handleGenderChange,
),
Text("Female"),
Radio<String>(
value: "Other",
groupValue: _genderRadioBtnVal,
onChanged: _handleGenderChange,
),
Text("Other"),
],
);
void _handleGenderChange(String value) {
setState(() {
_genderRadioBtnVal = value;
});
}
希望对您有所帮助!
我在 flutter 应用程序中使用以下代码进行性别选择。在这里,这工作正常,但我无法检索文本格式的性别值。我应该怎么做?
final gender = Padding(
padding: EdgeInsets.only(top: 0.0),
child: Row(
children: <Widget>[
Radio(
value: 0,
groupValue: _genderRadioBtnVal,
onChanged: _handleGenderChange,
),
Text("Male"),
Radio(
value: 1,
groupValue: _genderRadioBtnVal,
onChanged: _handleGenderChange,
),
Text("Female"),
Radio(
value: 2,
groupValue: _genderRadioBtnVal,
onChanged: _handleGenderChange,
),
Text("Other"),
],
),
);
void _handleGenderChange(int value) {
setState(() {
_genderRadioBtnVal = value;
});
}
因为您使用的值是 0、1、2,所以您在 onChanged.If 中得到它,您需要像 "Male"、"Female" 和 "other" 这样的字符串值,您可以把你的值改成String类型,给它们适当的值。
Row(
children: <Widget>[
Radio<String>(
value: "Male",
groupValue: _genderRadioBtnVal,
onChanged: _handleGenderChange,
),
Text("Male"),
Radio<String>(
value: "Female",
groupValue: _genderRadioBtnVal,
onChanged: _handleGenderChange,
),
Text("Female"),
Radio<String>(
value: "Other",
groupValue: _genderRadioBtnVal,
onChanged: _handleGenderChange,
),
Text("Other"),
],
);
void _handleGenderChange(String value) {
setState(() {
_genderRadioBtnVal = value;
});
}
希望对您有所帮助!