我使用dropdownformfield在注册页面中获取用户的性别,在其他类中创建了小部件,我想知道如何控制该字段或在其更改时检索值,因为它没有像textformfield那样的控制器
答案 0 :(得分:0)
我建议添加一个onChanged回调,该回调可传递到包含下拉字段的类的构造函数中。
class DropdownField extends StatelessWidget {
final Function(dynamic) onChanged;
DropdownField({@required this.onChanged});
@override
Widget build(BuildContext context) {
return DropdownButtonFormField(
onChanged: this.onChanged,
);
}
}
然后,当您实例化该类时,让它在回调上进行操作。
class _OtherClassState extends State<OtherClass> {
var _selectedItem;
@override
Widget build(BuildContext context) {
return DropdownField(
onChanged: (newItem) => setState(() => this._selectedItem = newItem),
);
}
}