如何在Flutter中运行构建状态时显示CircularProgressIndicator?

时间:2020-07-06 09:39:20

标签: flutter dart

我有一个带有数百行数据表的主页,需要一段时间才能加载。每当我对数据表进行排序时,HomePageState都会重新加载-在构建时,整个页面冻结一两秒钟。

是否可以添加进度指示器,在后台构建新状态并在构建完成后显示它?

换句话说,我希望在用户对表格进行排序时发生这种情况:

  1. CircularProgressIndicator出现
  2. 在建立新状态后显示新状态

1 个答案:

答案 0 :(得分:1)

希望您使用FutureBuilder来获取数据。

FutureBuilder(
        future: fetchData(),
        builder: (_, dataSnapshot) {
          if (dataSnapshot.connectionState == ConnectionState.waiting) {
            return Center(child: CircularProgressIndicator());
          } else {
            return Container(), // Your widgets code
            );
          }
        },
      )

在else块内获取dataSnapshot.data之类的数据-使用它来呈现小部件。