Is StreamBuilder快照为空


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');
}

最新更新