Skip to content

Commit 320ccbc

Browse files
committed
Reverted d9985c1 because it caused major focus problems.
1 parent b4c835a commit 320ccbc

File tree

1 file changed

+3
-7
lines changed

1 file changed

+3
-7
lines changed

lib/src/fields/form_builder_phone_field.dart

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -125,9 +125,6 @@ class FormBuilderPhoneField extends StatefulWidget {
125125
class FormBuilderPhoneFieldState extends State<FormBuilderPhoneField> {
126126
bool _readOnly = false;
127127
TextEditingController _effectiveController = TextEditingController();
128-
FocusNode _focusNode;
129-
FocusNode get _effectiveFocusNode =>
130-
widget.focusNode ?? (_focusNode ?? FocusNode());
131128
FormBuilderState _formState;
132129
final GlobalKey<FormFieldState> _fieldKey = GlobalKey<FormFieldState>();
133130
String _initialValue;
@@ -210,8 +207,7 @@ class FormBuilderPhoneFieldState extends State<FormBuilderPhoneField> {
210207
return TextField(
211208
enabled: !_readOnly,
212209
style: widget.style,
213-
focusNode:
214-
_readOnly ? AlwaysDisabledFocusNode() : _effectiveFocusNode,
210+
focusNode: _readOnly ? AlwaysDisabledFocusNode() : widget.focusNode,
215211
decoration: widget.decoration.copyWith(
216212
enabled: !_readOnly,
217213
errorText: field.errorText,
@@ -255,7 +251,7 @@ class FormBuilderPhoneFieldState extends State<FormBuilderPhoneField> {
255251
Widget _textFieldPrefix(field) {
256252
return GestureDetector(
257253
onTap: () {
258-
_effectiveFocusNode?.requestFocus();
254+
FocusScope.of(context).requestFocus(FocusNode());
259255
if (widget.isCupertinoPicker) {
260256
_openCupertinoCountryPicker(field);
261257
} else {
@@ -333,7 +329,7 @@ class FormBuilderPhoneFieldState extends State<FormBuilderPhoneField> {
333329
onValuePicked: (Country country) {
334330
setState(() => _selectedDialogCountry = country);
335331
_invokeChange(field);
336-
_effectiveFocusNode?.requestFocus();
332+
widget.focusNode?.requestFocus();
337333
},
338334
itemFilter: widget.countryFilterByIsoCode != null
339335
? (c) => widget.countryFilterByIsoCode.contains(c.isoCode)

0 commit comments

Comments
 (0)