Skip to content

Commit 4fccb66

Browse files
committed
Fixed bug in parsing phone number from PhoneField's initialValue
1 parent 40f14ce commit 4fccb66

File tree

4 files changed

+20
-14
lines changed

4 files changed

+20
-14
lines changed

CHANGELOG.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,8 @@
1+
## [3.12.3] - 05-Aug-2020
2+
* Fixed bug in parsing phone number from `FormBuilderPhoneField`'s `initialValue`
3+
* Added more TextField options: `toolbarOptions`, `smartQuotesType`, `smartDashesType`, `scrollPhysics`, `enableSuggestions`
4+
* Fixed `onChanged` bug on TextField
5+
16
## [3.12.2] - 03-Aug-2020
27
* Convert FormBuilderRating value to double for RatingBar. Closes #392
38

example/lib/main.dart

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -237,7 +237,9 @@ class MyHomePageState extends State<MyHomePage> {
237237
label: RichText(
238238
text: TextSpan(
239239
children: [
240-
TextSpan(text: 'I have read and agree to the ', style: TextStyle(color: Colors.black)),
240+
TextSpan(
241+
text: 'I have read and agree to the ',
242+
style: TextStyle(color: Colors.black)),
241243
TextSpan(
242244
text: 'Terms and Conditions',
243245
style: TextStyle(color: Colors.blue),
@@ -263,8 +265,8 @@ class MyHomePageState extends State<MyHomePage> {
263265
controller: _ageController,
264266
decoration: InputDecoration(
265267
labelText: 'Age',
266-
suffixIcon: _ageHasError ?
267-
Icon(Icons.error, color: Colors.red)
268+
suffixIcon: _ageHasError
269+
? Icon(Icons.error, color: Colors.red)
268270
: Icon(Icons.check, color: Colors.green),
269271
),
270272
onChanged: (val) {
@@ -601,5 +603,3 @@ class MyHomePageState extends State<MyHomePage> {
601603
);
602604
}
603605
}
604-
605-

lib/src/fields/form_builder_phone_field.dart

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -153,9 +153,6 @@ class FormBuilderPhoneFieldState extends State<FormBuilderPhoneField> {
153153
_selectedDialogCountry = CountryPickerUtils.getCountryByIsoCode(
154154
widget.defaultSelectedCountryIsoCode);
155155
_parsePhone();
156-
_effectiveController.addListener(() {
157-
_invokeChange(_fieldKey.currentState);
158-
});
159156
super.initState();
160157
}
161158

@@ -165,8 +162,10 @@ class FormBuilderPhoneFieldState extends State<FormBuilderPhoneField> {
165162
var parseResult = await PhoneNumber().parse(_initialValue);
166163
print(parseResult);
167164
if (parseResult != null) {
168-
_selectedDialogCountry = CountryPickerUtils.getCountryByPhoneCode(
169-
parseResult['country_code']);
165+
setState(() {
166+
_selectedDialogCountry = CountryPickerUtils.getCountryByPhoneCode(
167+
parseResult['country_code']);
168+
});
170169
_effectiveController.text = parseResult['national_number'];
171170
}
172171
} catch (error) {
@@ -176,9 +175,8 @@ class FormBuilderPhoneFieldState extends State<FormBuilderPhoneField> {
176175
}
177176

178177
void _invokeChange(FormFieldState field) {
179-
final newFullNumber = fullNumber;
180-
field.didChange(newFullNumber);
181-
widget.onChanged?.call(newFullNumber);
178+
field.didChange(fullNumber);
179+
widget.onChanged?.call(fullNumber);
182180
}
183181

184182
@override
@@ -214,6 +212,9 @@ class FormBuilderPhoneFieldState extends State<FormBuilderPhoneField> {
214212
prefix: _textFieldPrefix(field),
215213
),
216214
// initialValue: "${_initialValue ?? ''}",
215+
onChanged: (val) {
216+
_invokeChange(field);
217+
},
217218
maxLines: widget.maxLines,
218219
keyboardType: widget.keyboardType,
219220
obscureText: widget.obscureText,

pubspec.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
name: flutter_form_builder
22
description: Package to build Material Form with fields like TextField, DropDown, Switches etc. with ability to create custom FormFields and composability and reuse validation functions.
3-
version: 3.12.2
3+
version: 3.12.3
44
homepage: https://github.com/danvick/flutter_form_builder
55

66
environment:

0 commit comments

Comments
 (0)