下面是我的代码,该代码将布尔批准更改为true,并确认了工人的预订。这些字段会立即在firestore上更新,但是当我使用相同的代码向用户显示他的批准预订时,但其中where子句stream: db.collection('booking_tbl').where('approve',isEqualTo:true).snapshots(),
需要几次刷新/重新启动才能过滤这些结果,但最终将它们过滤。该问题如何解决?
StreamBuilder<QuerySnapshot>(
stream: db.collection('booking_tbl').snapshots(),
builder: (context, snapshot) {
if (snapshot.hasData) {
return Column(
children: snapshot.data.documents.map((doc) {
return ListTile(
title: Text("Press the button to confirm booking"),
trailing: IconButton(
icon: Icon(Icons.verified_user),
color: Colors.green,
onPressed: () async {
await db.collection('booking_tbl').document(doc.documentID).updateData({'approve':true});
},
),
),
}).toList(),
);
} else {
return SizedBox();
}
}),