diff --git a/lib/src/widgets/item_builder/item_list.dart b/lib/src/widgets/item_builder/item_list.dart index 367639e..6cdd2d2 100644 --- a/lib/src/widgets/item_builder/item_list.dart +++ b/lib/src/widgets/item_builder/item_list.dart @@ -8,6 +8,7 @@ class ItemList extends StatefulWidget { this.typeMap, this.spacing, this.updateProfile, { + required this.formKey, this.itemBuilder, this.itemBuilderOptions, super.key, @@ -19,25 +20,13 @@ class ItemList extends StatefulWidget { final Function(String, String) updateProfile; final ItemBuilder? itemBuilder; final ItemBuilderOptions? itemBuilderOptions; + final GlobalKey formKey; @override State createState() => _ItemListState(); } class _ItemListState extends State { - Map> formKeys = {}; - - @override - void initState() { - super.initState(); - - for (var item in widget.items.entries) { - formKeys.addAll( - {item.key: GlobalKey()}, - ); - } - } - @override Widget build(BuildContext context) { var widgets = []; @@ -49,7 +38,7 @@ class _ItemListState extends State { ? widgets.add( builder.build( item.key, - formKeys['item.key'] ?? GlobalKey(), + widget.formKey, item.value, widget.typeMap[item.key], (value) { @@ -60,7 +49,7 @@ class _ItemListState extends State { : widgets.add( widget.itemBuilder!.build( item.key, - formKeys['item.key'] ?? GlobalKey(), + widget.formKey, item.value, widget.typeMap[item.key], (value) { diff --git a/lib/src/widgets/profile/proifle_wrapper.dart b/lib/src/widgets/profile/proifle_wrapper.dart index 4a021b0..5adad1c 100644 --- a/lib/src/widgets/profile/proifle_wrapper.dart +++ b/lib/src/widgets/profile/proifle_wrapper.dart @@ -151,6 +151,7 @@ class _ProfileWrapperState extends State { }, itemBuilder: widget.itemBuilder, itemBuilderOptions: widget.itemBuilderOptions, + formKey: formKey, ), if (widget.showDefaultItems) ...defaultItems, // remove all the items that have priority from the widget.user.profileData!.toMap() @@ -169,6 +170,7 @@ class _ProfileWrapperState extends State { }, itemBuilder: widget.itemBuilder, itemBuilderOptions: widget.itemBuilderOptions, + formKey: formKey, ), ], );