StreamBuilder(
stream: firestore
.collection('Product')
.doc(order.productId)
.collection('AbleToReview')
.doc(auth.currentUser.uid)
.snapshots(),
builder: (context, snapshot) {
if (snapshot.hasError) {
return Text('Something went wrong');
}
if (snapshot.connectionState == ConnectionState.waiting) {
return Center(
child: CircularProgressIndicator(),
);
}
if (snapshot.data==null){
return Text('no data');
} else {
return Text('have data');
}
}
)
在firestore.collection('Product'(.doc(order.productId(.collecttion('AbleToReview'(.doc(auth.currentUser.uid(.snapshots((查询中有时不存在数据。取决于数据是否存在,我尝试返回不同的小部件。但是snapshot.data==null
或!snapshot.hasData
不是我想要的正确方式。
您可以使用snapshot.data.documents.isEmpty()
检查查询中的实际数据是否为空。
您可以将代码更新为以下代码:
if (snapshot.data==null || snapshot.data.data().isEmpty()){
return Text('no data');
} else {
return Text('have data');
}