"
Screnn" циклом генерирует листинг контактов через
Statefull виджет "
ContactItem".
children: [
for (Contact contact in _filteredContactsList)
ContactItem(contact: contact, isAllChecked: isAllChecked,)
],
"_filteredContactsList" - массив контактов, который обновляется (setState) при определенных условиях в "
Screen".
Если условие происход, массив обновляется.
Statefull виджет "
ContactItem" тоже обновляется, но неправильно. Если в массиве убираются определенные элементы (контакты), то виджет как будто оставляет старый массив, но обрезает его на количество элементов, которое стало в "
Screnn".
Например.
Массив [1, 2, 3,
4, 5, 6, 7].
Произошло изменение массива в "
Screnn".
Новый массив [1, 2, 3, 5, 6, 7].
В Statefull виджете отобразилось [1, 2, 3, 4, 5, 6].
То есть как бы убрали элемент
4 (четыре), а фактически в Statefull виджете массив обрезался на один элемент с конца. Да, массив стал меньше, но почему он не обновлися в виджете?
Если виджет "
ContactItem" сделать
Stateless, тогда все работает.