如何刷新扑扑的firestore streambuilder?

时间:2020-06-11 05:05:25

标签: flutter google-cloud-firestore stream-builder

下面是我的代码,该代码将布尔批准更改为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();
        }
      }),

0 个答案:

没有答案