Skip to content

Commit f7c11cb

Browse files
committed
fix transformers
1 parent f207067 commit f7c11cb

File tree

2 files changed

+10
-6
lines changed

2 files changed

+10
-6
lines changed

packages/flutter_form_builder/lib/src/form_builder.dart

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,8 @@ class FormBuilderState extends State<FormBuilder> {
9292

9393
final _fields = <String, FormBuilderFieldState>{};
9494

95-
final _transformers = <String, dynamic Function(dynamic)>{};
95+
//because dart type system will not accept ValueTransformer<dynamic>
96+
final _transformers = <String, Function>{};
9697
final _instantValue = <String, dynamic>{};
9798
final _savedValue = <String, dynamic>{};
9899

@@ -162,9 +163,7 @@ class FormBuilderState extends State<FormBuilder> {
162163
}());
163164

164165
_fields[name] = field;
165-
if (field.widget.valueTransformer != null) {
166-
_transformers[name] = field.widget.valueTransformer!;
167-
}
166+
field.registerTransformer(_transformers);
168167
if (oldField != null) {
169168
// ignore: invalid_use_of_protected_member
170169
field.setValue(

packages/flutter_form_builder/lib/src/form_builder_field.dart

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -74,8 +74,6 @@ class FormBuilderField<T> extends FormField<T> {
7474
validator: validator,
7575
);
7676

77-
/*@override
78-
FormBuilderFieldState<T> createState();*/
7977
@override
8078
FormBuilderFieldState<FormBuilderField<T>, T> createState() =>
8179
FormBuilderFieldState<FormBuilderField<T>, T>();
@@ -102,6 +100,13 @@ class FormBuilderFieldState<F extends FormBuilderField<T>, T>
102100

103101
dynamic get transformedValue => widget.valueTransformer?.call(value) ?? value;
104102

103+
void registerTransformer(Map<String, Function> _map) {
104+
final _fun = widget.valueTransformer;
105+
if (_fun != null) {
106+
_map[widget.name] = _fun;
107+
}
108+
}
109+
105110
@override
106111
String? get errorText => super.errorText ?? _customErrorText;
107112

0 commit comments

Comments
 (0)