ListView: выборка деталей с помощью FutureBuilder приводит к сбойному поведению

У меня есть ListView, и я использую ListView.builder, чтобы лениво заполнять список, когда дети становятся видимыми.

Тем не менее, элементы также должны отображать дополнительный контент, который я хочу получить лениво.

Для этого я создаю http-get-future в child-builder и передаю его в FutureBuilder, который отображает дополнительный контент, как только Future завершает работу.

Тем не менее, даже если я кеширую http-get-futures, весь список выглядит сбойно, поскольку элементы перестраиваются, когда они снова становятся видимыми, и FutureBuilder отображает всегда один кадр ожидания без каких-либо данных ("потому что нет способа синхронной проверки если будущее уже завершено ", - как говорят документы Флаттера).

Что я должен изменить?

2 ответа

Решение

Я нашел решение:

Вместо непосредственного использования Future в FutureBuilder, я помещаю ValueNotifier в кеш, который устанавливается внутри функции then Future, и заменяю FutureBuilder на ListenableBuilder.

ListenableBuilder не имеет проблемы с пустой рамкой...

Я только что решил, используя «reverse: true»

ListView.builder (обратное: правда,...)

Другие вопросы по тегам