gpt4 book ai didi

firebase - 在 flutter 中过滤来自 firebase 的数据

转载 作者:行者123 更新时间:2023-12-03 04:20:25 25 4
gpt4 key购买 nike

在我的系统中有状态为“已批准”和“未批准”的通知。我只想显示“未批准”的通知,我想使用 flutter app 将它们转换为“已批准”。这是我的 firebase 的屏幕截图。 enter image description here

通过使用下面的代码我可以显示通知所有通知列表

  Widget build(BuildContext context) {
final notices = Provider.of<List<Notice>>(context) ?? [];

return StreamBuilder<List<Notice>>(
stream: NoticeService().notices,
builder: (context, snapshot) {
if(snapshot.hasData){

return GridView.builder (

itemCount: notices.length,
gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(crossAxisCount: 1),
// ignore: missing_return
itemBuilder: (context,index){
return SingleNotice(
notice:notices[index]

);
}


);
}else{
return(Text('No List'));
}
}

);
}

我这样创建通知流

final CollectionReference noticeCollection=Firestore.instance.collection('Notices');
//notice list from snapshot
List<Notice>_noticeListFromSnapshot(QuerySnapshot snapshot){
return snapshot.documents.map((doc){
return Notice(
title:doc.data['title'] ?? '',
url: doc.data['url'] ?? '',
category: doc.data['noticecategory'] ?? 'General',
status: doc.data['status'] ?? 'unapproved',
dateTime: doc.data['dateTime'] ?? '',
noticeId: doc.data['noticeId'] ?? ''

);
}).toList();
}
Stream<List<Notice>>get notices{
return noticeCollection.snapshots().map(_noticeListFromSnapshot);
}

那我如何过滤未审核的通知并显示它们。

最佳答案

要仅获取未批准的文件,您可以use a query :

final CollectionReference noticeCollection=Firestore.instance.collection('Notices');
final Query unapproved = noticeCollection.where("status", isEqualTo: "unapproved")

然后用它代替集合:

  Stream<List<Notice>>get notices{
return unapproved.snapshots().map(_noticeListFromSnapshot);
}

关于firebase - 在 flutter 中过滤来自 firebase 的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62967784/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com