我有一个ListView,当孩子可见时,我正在使用ListView.builder懒惰地填充列表。
但是,这些项目还需要呈现我想懒惰获取的其他内容。
为此,我正在子生成器中构建一个http-get-future,并将其传递给FutureBuilder,该FutureBuilder在Future完成后立即呈现其他内容。
但是,即使我缓存了http-get-futures,整个列表也会出现故障,因为当这些项目再次变得可见时,它们将被重建,并且FutureBuilder始终呈现一个没有任何数据的等待帧(“因为没有办法同步检查Future是否已经完成” –如Flutter的文档所述。
我应该改变什么?
答案 0 :(得分:0)
我找到了解决方法:
我不是在FutureBuilder中直接使用Future,而是将ValueNotifier放置在Future的then函数内部设置的缓存中,并用ListenableBuilder替换FutureBuilder。
ListenableBuilder的空白框没有问题...