如何从DropdownFormField检索值?

时间:2020-02-03 18:15:13

标签: flutter dart

我使用dropdownformfield在注册页面中获取用户的性别,在其他类中创建了小部件,我想知道如何控制该字段或在其更改时检索值,因为它没有像textformfield那样的控制器

1 个答案:

答案 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),
    );
  }
}