File tree Expand file tree Collapse file tree 4 files changed +21
-4
lines changed
packages/flutter_form_builder/lib/src/fields Expand file tree Collapse file tree 4 files changed +21
-4
lines changed Original file line number Diff line number Diff line change @@ -23,6 +23,7 @@ class FormBuilderCheckboxGroup<T> extends FormBuilderField<List<T>> {
23
23
final Widget ? separator;
24
24
final ControlAffinity controlAffinity;
25
25
final OptionsOrientation orientation;
26
+ final bool shouldRequestFocus;
26
27
27
28
/// Creates a list of Checkboxes for selecting multiple options
28
29
FormBuilderCheckboxGroup ({
@@ -58,6 +59,7 @@ class FormBuilderCheckboxGroup<T> extends FormBuilderField<List<T>> {
58
59
this .separator,
59
60
this .controlAffinity = ControlAffinity .leading,
60
61
this .orientation = OptionsOrientation .wrap,
62
+ this .shouldRequestFocus = false ,
61
63
}) : super (
62
64
key: key,
63
65
initialValue: initialValue,
@@ -81,7 +83,9 @@ class FormBuilderCheckboxGroup<T> extends FormBuilderField<List<T>> {
81
83
value: state.value,
82
84
options: options,
83
85
onChanged: (val) {
84
- state.requestFocus ();
86
+ if (shouldRequestFocus) {
87
+ state.requestFocus ();
88
+ }
85
89
field.didChange (val);
86
90
},
87
91
disabled: state.enabled
Original file line number Diff line number Diff line change @@ -103,6 +103,7 @@ class FormBuilderRangeSlider extends FormBuilderField<RangeValues> {
103
103
final TextStyle ? textStyle;
104
104
final TextStyle ? maxTextStyle;
105
105
final NumberFormat ? numberFormat;
106
+ final bool shouldRequestFocus;
106
107
107
108
/// Creates field to select a range of values on a Slider
108
109
FormBuilderRangeSlider ({
@@ -133,6 +134,7 @@ class FormBuilderRangeSlider extends FormBuilderField<RangeValues> {
133
134
this .textStyle,
134
135
this .maxTextStyle,
135
136
this .numberFormat,
137
+ this .shouldRequestFocus = false ,
136
138
}) : super (
137
139
key: key,
138
140
initialValue: initialValue,
@@ -170,7 +172,9 @@ class FormBuilderRangeSlider extends FormBuilderField<RangeValues> {
170
172
semanticFormatterCallback: semanticFormatterCallback,
171
173
onChanged: state.enabled
172
174
? (values) {
173
- state.requestFocus ();
175
+ if (shouldRequestFocus) {
176
+ state.requestFocus ();
177
+ }
174
178
field.didChange (values);
175
179
}
176
180
: null ,
Original file line number Diff line number Diff line change @@ -37,6 +37,8 @@ class FormBuilderSegmentedControl<T extends Object>
37
37
/// The list of options the user can select.
38
38
final List <FormBuilderFieldOption <T >> options;
39
39
40
+ final bool shouldRequestFocus;
41
+
40
42
/// Creates field for selection of a value from the `CupertinoSegmentedControl`
41
43
FormBuilderSegmentedControl ({
42
44
Key ? key,
@@ -58,6 +60,7 @@ class FormBuilderSegmentedControl<T extends Object>
58
60
this .pressedColor,
59
61
this .padding,
60
62
this .unselectedColor,
63
+ this .shouldRequestFocus = false ,
61
64
}) : super (
62
65
key: key,
63
66
initialValue: initialValue,
@@ -100,7 +103,9 @@ class FormBuilderSegmentedControl<T extends Object>
100
103
padding: padding,
101
104
unselectedColor: unselectedColor,
102
105
onValueChanged: (value) {
103
- state.requestFocus ();
106
+ if (shouldRequestFocus) {
107
+ state.requestFocus ();
108
+ }
104
109
if (state.enabled) {
105
110
field.didChange (value);
106
111
} else {
Original file line number Diff line number Diff line change @@ -127,6 +127,7 @@ class FormBuilderSlider extends FormBuilderField<double> {
127
127
final TextStyle ? minTextStyle;
128
128
final TextStyle ? textStyle;
129
129
final TextStyle ? maxTextStyle;
130
+ final bool shouldRequestFocus;
130
131
131
132
/// Creates field for selection of a numerical value on a slider
132
133
FormBuilderSlider ({
@@ -159,6 +160,7 @@ class FormBuilderSlider extends FormBuilderField<double> {
159
160
this .maxTextStyle,
160
161
this .autofocus = false ,
161
162
this .mouseCursor,
163
+ this .shouldRequestFocus = false ,
162
164
}) : super (
163
165
key: key,
164
166
initialValue: initialValue,
@@ -195,7 +197,9 @@ class FormBuilderSlider extends FormBuilderField<double> {
195
197
semanticFormatterCallback: semanticFormatterCallback,
196
198
onChanged: state.enabled
197
199
? (value) {
198
- state.requestFocus ();
200
+ if (shouldRequestFocus) {
201
+ state.requestFocus ();
202
+ }
199
203
field.didChange (value);
200
204
}
201
205
: null ,
You can’t perform that action at this time.
0 commit comments