diff --git a/CHANGELOG.md b/CHANGELOG.md index 31643f2..2e2c127 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -30,3 +30,7 @@ - Added the id of the input field on the input check widget. - Ability to set the height of the carousel input field. - InputController now contains the onSubmit callback. + +## 2.0.1 - October 27th 2022 + +- onChange of switch input not firing fixed diff --git a/lib/src/widgets/input/input_types/input_switch/input_switch.dart b/lib/src/widgets/input/input_types/input_switch/input_switch.dart index 01e8039..ce1df56 100644 --- a/lib/src/widgets/input/input_types/input_switch/input_switch.dart +++ b/lib/src/widgets/input/input_types/input_switch/input_switch.dart @@ -25,6 +25,7 @@ class FlutterFormInputSwitch extends FlutterFormInputWidget { onSaved: (value) { controller.onSaved(value); }, + onChanged: controller.onChanged, validator: (value) => controller.onValidate(value, _), initialValue: controller.value ?? false, ); diff --git a/lib/src/widgets/input/input_types/input_switch/input_switch_field.dart b/lib/src/widgets/input/input_types/input_switch/input_switch_field.dart index b8b97d0..0b4d1ad 100644 --- a/lib/src/widgets/input/input_types/input_switch/input_switch_field.dart +++ b/lib/src/widgets/input/input_types/input_switch/input_switch_field.dart @@ -7,6 +7,7 @@ class SwitchFormField extends FormField { required FormFieldValidator validator, bool initialValue = false, bool autovalidate = false, + void Function(bool? value)? onChanged, }) : super( key: key, onSaved: onSaved, @@ -16,6 +17,7 @@ class SwitchFormField extends FormField { return SwitchWidget( initialValue: initialValue, state: state, + onChanged: onChanged, ); }); } @@ -24,11 +26,13 @@ class SwitchWidget extends StatefulWidget { const SwitchWidget({ this.initialValue = false, required this.state, + this.onChanged, super.key, }); final bool initialValue; final FormFieldState state; + final void Function(bool? value)? onChanged; @override State createState() => _SwitchWidgetState(); @@ -42,6 +46,8 @@ class _SwitchWidgetState extends State { return Switch( value: value, onChanged: (bool value) { + widget.onChanged?.call(value); + widget.state.didChange(value); setState(() {