Flutter: изображение не обновляется - PullRequest
0 голосов
/ 27 мая 2020

Я делаю школьный проект с флаттером, в котором есть список карточек. На карточке есть изображения, которые хранятся в картах. Карта - это 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 исправить ошибку, но я хочу показать загрузчик.

1 Ответ

0 голосов
/ 27 мая 2020

Обнаружил ошибку, мне пришлось передать UniqueKey в класс Loader.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...