diff --git a/packages/dropdown_button2/CHANGELOG.md b/packages/dropdown_button2/CHANGELOG.md index 38bbc15..a3c829f 100644 --- a/packages/dropdown_button2/CHANGELOG.md +++ b/packages/dropdown_button2/CHANGELOG.md @@ -3,6 +3,7 @@ - Fix errorStyle has no effect for DropdownButtonFormField2, closes #327. - DropdownRoutePage should dispose the created ScrollController [Flutter core]. - Remove 'must be non-null' and 'must not be null' comments [Flutter core]. +- Form fields onChange callback should be called on reset [Flutter core]. ## 3.0.0-beta.21 diff --git a/packages/dropdown_button2/lib/src/dropdown_button2.dart b/packages/dropdown_button2/lib/src/dropdown_button2.dart index b24a504..76a2c8f 100644 --- a/packages/dropdown_button2/lib/src/dropdown_button2.dart +++ b/packages/dropdown_button2/lib/src/dropdown_button2.dart @@ -1106,13 +1106,13 @@ class DropdownButtonFormField2 extends FormField { } class _DropdownButtonFormFieldState extends FormFieldState { + DropdownButtonFormField get _dropdownButtonFormField => + widget as DropdownButtonFormField; + @override void didChange(T? value) { super.didChange(value); - final DropdownButtonFormField2 dropdownButtonFormField = - widget as DropdownButtonFormField2; - assert(dropdownButtonFormField.onChanged != null); - dropdownButtonFormField.onChanged!(value); + _dropdownButtonFormField.onChanged!(value); } @override @@ -1122,4 +1122,10 @@ class _DropdownButtonFormFieldState extends FormFieldState { setValue(widget.initialValue); } } + + @override + void reset() { + super.reset(); + _dropdownButtonFormField.onChanged!(value); + } }