Skip to content

Commit 6af6dec

Browse files
authored
Fix for duplicate values using setState with initially selected items
see CodeFoxLk#16 (comment)
1 parent cd9369b commit 6af6dec

File tree

1 file changed

+8
-1
lines changed

1 file changed

+8
-1
lines changed

flutter_multi_select/lib/src/containers/multi_select_container.dart

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,7 @@ class _SimpleMultiSelectContainerState<T>
119119

120120
@override
121121
void didUpdateWidget(MultiSelectContainer<T> oldWidget) {
122-
_addInitiallySelectedItemsToSelectedList();
122+
_setPerpetualSelectedItemsCount();
123123
if (widget.controller != null) {
124124
widget.controller!.deselectAll = oldWidget.controller!.deselectAll;
125125
widget.controller!.getSelectedItems =
@@ -140,6 +140,13 @@ class _SimpleMultiSelectContainerState<T>
140140
setState(() {});
141141
}
142142

143+
// find perpetual selected items count
144+
void _setPerpetualSelectedItemsCount() {
145+
_perpetualSelectedItemsCount =
146+
_items.where((item) => item.perpetualSelected).length;
147+
setState(() {});
148+
}
149+
143150
// Deselect all selected items excluding Perpetual Selected Items
144151
// for controller deselect call back
145152
void _deSelectAll() {

0 commit comments

Comments
 (0)