Skip to content

Commit 43702c8

Browse files
committed
improve getTransformedValue logic, fixed text field
1 parent 372d060 commit 43702c8

File tree

2 files changed

+20
-4
lines changed

2 files changed

+20
-4
lines changed

packages/flutter_form_builder/lib/src/fields/form_builder_text_field.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -465,7 +465,7 @@ class _FormBuilderTextFieldState
465465
super.didChange(value);
466466

467467
if (_effectiveController!.text != value) {
468-
_effectiveController!.text = value!;
468+
_effectiveController!.text = value ?? '';
469469
}
470470
}
471471

packages/flutter_form_builder/lib/src/form_builder.dart

Lines changed: 19 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
import 'dart:developer';
2+
13
import 'package:flutter/material.dart';
24
import 'package:flutter_form_builder/flutter_form_builder.dart';
35

@@ -110,12 +112,12 @@ class FormBuilderState extends State<FormBuilder> {
110112
}
111113

112114
dynamic getTransformedValue<T>(String name, {bool fromSaved = false}) {
113-
final og = fromSaved ? _savedValue[name] : _instantValue[name];
114-
return transformValue<T>(name, og);
115+
return transformValue<T>(name, getRawValue(name));
115116
}
116117

117118
T? getRawValue<T>(String name, {bool fromSaved = false}) {
118-
return fromSaved ? _savedValue[name] : _instantValue[name];
119+
return (fromSaved ? _savedValue[name] : _instantValue[name]) ??
120+
initialValue[name];
119121
}
120122

121123
void setInternalFieldValue<T>(
@@ -226,7 +228,21 @@ class FormBuilderState extends State<FormBuilder> {
226228
}
227229

228230
void reset() {
231+
log('reset called');
229232
_formKey.currentState!.reset();
233+
for (var item in _fields.entries) {
234+
try {
235+
item.value.didChange(getRawValue(item.key));
236+
} catch (e, st) {
237+
log(
238+
'Error when resetting field: ${item.key}',
239+
error: e,
240+
stackTrace: st,
241+
level: 2000,
242+
);
243+
}
244+
}
245+
// _formKey.currentState!.setState(() {});
230246
}
231247

232248
void patchValue(Map<String, dynamic> val) {

0 commit comments

Comments
 (0)