Future Builder 用于等待复杂的小部件构建完成。

3

是否可以在“后台”预构建一个复杂页面(包含图像、Firestore 数据),并在等待小部件完全渲染时显示加载屏幕?

我有一个 HomePage(),从 Firestore 获取数据并加载一些图像到滑块小部件中。渲染图像和从 Firestore 中获取数据需要一些时间。我希望main() 在“后台”构建 HomePage() 并在等待时显示加载屏幕。


因为Future只带来数据,而不是Widget,所以您的Widget应该是一个轻量级、愚蠢的数据呈现器,并将在builder内构建。 - pskink
我无法理解您的信息。在小部件完全呈现时,有没有一种方法可以显示加载屏幕? - faccio
请查看以下示例:https://brewyourtech.com/complete-guide-to-futurebuilder-in-flutter/ - pskink
仍然是一个通用的网站,讨论FutureBuilder,而不是我正在处理的具体实现,返回Widgets。 - faccio
为什么要返回“Widget”?你应该返回数据,而不是小部件。 - pskink
显示剩余3条评论
1个回答

0

是的,有一个FutureBuilder小部件可以完美实现这个功能。

FutureBuilder(
        future: future,
        builder: (context, snapshot) {
          if(snapshot.connectionState == ConnectionState.waiting){
            return const Center(child: CircularProgressIndicator());  
          } else {
            return yourWidget();
          }
        },
      ),

我当然知道...但我不知道如何实现一个可以构建整个小部件的“Future”,而不仅仅是一些数据(来自Firestore等)。 - faccio
我在上面添加了一段代码片段。快照对象将包含未来的结果。 - Banjoe
我在问题中添加了更多关于我的问题的解释。 - faccio

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接