Flutter开发中遍历Firestore集合映射时如何获取文档ID实现删除操作
解决方案
你遍历拿到的DocumentSnapshot对象本身就自带id属性,直接调用就可以获取到当前遍历项对应的Firebase文档ID,修改你的代码即可:
...snapshot.data.docs.map((DocumentSnapshot document) { Map<String, dynamic> data = document.data() as Map<String, dynamic>; return InkWell( onTap: () async { await FirebaseFirestore.instance .collection('User Data') // 直接用document.id替换写死的document_id字符串即可 .doc(document.id) .delete(); }, child: HomeCard( // 剩下的原有逻辑保持不变
补充说明
document.id返回的是字符串类型的文档唯一ID,和你在Firebase控制台看到的文档ID完全一致- 建议可以增加删除后的交互提示,比如弹出SnackBar告知用户删除结果,或者删除前增加二次确认弹窗,避免误操作
内容的提问来源于stack exchange,提问作者Sunshine
相关产品推荐
相关产品推荐

