Flutter:我正在使用Streambuilder收听效果很好的Firestore数据。
但是,我想做的是在Firestore中的某些条件发生变化时通知用户,让他响应并将其写回Firestore。
可以(在Flutter / Dart中)吗?
先谢谢了。
最好, / j
StreamBuilder(
stream: Firestore.instance.collection('users').snapshots(),
builder: (context, snapshot) {
if (!snapshot.hasData) return const Text('Loading...');
List<DocumentSnapshot> documents = snapshot.data.documents;
documents.forEach((doc) {
if (doc['Invited']) {
**// notify current user that he is invited,
// let him reply yes/no, write that value back to Firestore**
}
}
},
);
答案 0 :(得分:0)
答案 1 :(得分:0)
如果我正确理解您的要求,则希望在用户收到邀请后立即进行更新。您可以使用以下代码来做到这一点:
Future<Null> updateUser{
@required String userId,
bool accepted,
}) {
assert(userId != null && userId.isNotEmpty);
// create map that contains all fields to update
Map<String, dynamic> dataToUpdate = {
"accepted": accepted,
};
// get the reference to the user you want to update
final userRef = references.users(userId);
// update the user
return userRef.updateData(dataToUpdate);
}
您可以使用 doc.reference 从文档中获取参考。如果更新成功,则Future将完成;如果出现问题,则将以错误终止。