Я делаю школьный проект с флаттером, в котором есть список карточек. На карточке есть изображения, которые хранятся в картах. Карта - это Map<String,Image> _imgMap
, ключ - это атрибут name в _objectList, который представляет собой динамический список c. Я передаю изображение другому классу, называемому Loader, который представляет собой виджет с отслеживанием состояния, который возвращает контейнер с индикатором roundProgress во время загрузки изображения и возвращает изображение, если оно завершено. показывает правильное изображение. Но после добавления функции поиска, которая позволяет пользователю выполнять поиск по имени, а затем обновляет список только подходящим изображением, результирующее изображение оказывается неправильным.
void search(String value) {
if(value.isNotEmpty){
List<dynamic> result = List<dynamic>();
_backUp.forEach((obj) { //_backup is the complete list of objects, will not change
if(obj.name.toLowerCase().contains(value.toLowerCase())) {
result.add(obj);
}
});
setState(() {
_objectList = result;
});
}else {
setState(() {
_objectList = _backUp;
});
}
}
Примеры:
Исходный список
Результат поиска
Как видите, информация на карте обновляется, а изображение - нет. Проблема где-то в Я думаю, что после замены Loader в списке с виджетом Image исправить ошибку, но я хочу показать загрузчик.