我有以下定义供用户选择美国FormBuilderDropdown
州flutter_form_builder
class _StateFormBuilderDropdownState extends State<StateFormBuilderDropdown> {
@override
Widget build(BuildContext context) {
return FormBuilderDropdown(
attribute: widget.attribute,
initialValue: widget.initialValue,
validators: [FormBuilderValidators.required()],
decoration: InputDecoration(labelText: "State (required)"),
hint: Text('Select State'),
items: List<DropdownMenuItem>.from(
UsStates.states.map((s) => DropdownMenuItem(
value: s.code, child: Text(s.name)
))
),
onChanged: widget.onChanged
);
}
}
当我到达这个屏幕时,我会执行反向地理编码来自动填充用户地址。
解决地址后,我调用setState
更改表单值。问题是FormBuilderDropdown
只能initialValue
设置值,据我所知,在第一次构建后不会再次评估,所以我不能用它来更改值。
FormBuilderDropdown
初始设置后如何更改 ?