Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Firebase 如何添加加载循环图标,因为从firestore获取数据需要时间?_Firebase_Flutter_Dart_Google Cloud Firestore_Stream Builder - Fatal编程技术网

Firebase 如何添加加载循环图标,因为从firestore获取数据需要时间?

Firebase 如何添加加载循环图标,因为从firestore获取数据需要时间?,firebase,flutter,dart,google-cloud-firestore,stream-builder,Firebase,Flutter,Dart,Google Cloud Firestore,Stream Builder,我想显示一个加载按钮,直到它从firestore加载所有列表项 试试这个: builder: (context, snapshot) { if (!snapshot.hasData) { return CircularProgressIndicator(); } return ListView.builder(itemBuilder: (ctx, index) { return FavItem(

我想显示一个加载按钮,直到它从firestore加载所有列表项

试试这个:

builder: (context, snapshot) {
        if (!snapshot.hasData) {
          return CircularProgressIndicator();
        }
        return ListView.builder(itemBuilder: (ctx, index) {
          return FavItem(
            uid: snapshot.data.documents[index]['uid'],
            id: snapshot.data.documents[index]['id'],
          );
        });
      }
如果还没有数据,则应显示循环加载微调器(可自定义),否则将显示FavItem列表。

尝试以下操作:

builder: (context, snapshot) {
        if (!snapshot.hasData) {
          return CircularProgressIndicator();
        }
        return ListView.builder(itemBuilder: (ctx, index) {
          return FavItem(
            uid: snapshot.data.documents[index]['uid'],
            id: snapshot.data.documents[index]['id'],
          );
        });
      }
如果还没有数据,这将显示一个循环加载微调器(可自定义),否则它将显示FavItem的列表。

a可能是您正在寻找的

StreamBuilder(
流:Firestore.instance.collection(uid.snapshots(),
生成器:(上下文,快照){
if(snapshot.hasData){
返回。。。;
}
if(snapshot.hasError){
返回文本(snapshot.error.toString());
}
返回循环ProgressIndicator();
},
);
A可能就是您要找的

StreamBuilder(
流:Firestore.instance.collection(uid.snapshots(),
生成器:(上下文,快照){
if(snapshot.hasData){
返回。。。;
}
if(snapshot.hasError){
返回文本(snapshot.error.toString());
}
返回循环ProgressIndicator();
},
);
Decare bool varibale

bool loading = false;
当api函数启动时,setState

bool loading = true;
bool loading = false;
api函数的结尾,setState

bool loading = true;
bool loading = false;
在widget内部,检查

!loading ? Your widget : Center(
 Child:CirculatProgressIndicator();
  )
德克雷布尔瓦里贝尔酒店

bool loading = false;
当api函数启动时,setState

bool loading = true;
bool loading = false;
api函数的结尾,setState

bool loading = true;
bool loading = false;
在widget内部,检查

!loading ? Your widget : Center(
 Child:CirculatProgressIndicator();
  )

通常情况下,
快照。如果流返回错误,则数据
可以为空。因此,最好先检查
snapshot.hasrerror
。如果流返回错误,通常
snapshot.data
可以为空。因此,最好先检查快照.hasError。