【发布时间】:2021-08-11 10:16:36
【问题描述】:
我的 Flutter 代码在 FormField 中有两个单选按钮。
import 'package:flutter/material.dart';
enum Gender { male, female }
class RadioFormField extends FormField<String> {
RadioFormField({
FormFieldSetter<String>? onSaved,
FormFieldValidator<String>? validator,
String initialValue = '',
AutovalidateMode autovalidateMode = AutovalidateMode.always,
}) : super(
onSaved: onSaved,
validator: validator,
initialValue: initialValue,
autovalidateMode: autovalidateMode,
builder: (FormFieldState<String> state) {
String maleRadioButtonTitle = 'Male';
String femaleRadioButtonTitle = 'Female';
String? _genderValue = 'male';
return Row(
mainAxisSize: MainAxisSize.min,
children: <Widget>[
Expanded(
child: RadioListTile<String>(
title: Text(maleRadioButtonTitle),
value: Gender.male.toString(),
groupValue: _genderValue,
onChanged: (String? value) {
state.didChange(_genderValue = 'male');
},
),
),
Expanded(
child: RadioListTile<String>(
title: Text(femaleRadioButtonTitle),
value: Gender.female.toString(),
groupValue: _genderValue,
onChanged: (String? value) {
state.didChange(_genderValue = 'female');
},
),
),
],
);
},
);
}
问题是在它们渲染之后,它们都没有响应选择。我似乎无法理解出了什么问题。我错过了什么?
【问题讨论】: