根据消防商店收藏的日期更新列表视图的最佳方式



我在firestore中有一个文档,它有一个名称字段和一个日期字段。我还有一个流设置,可以从下面的中获取数据

List<Object> _objectDetailsfromSnapshot(QuerySnapshot snapshot) {
return snapshot.documents.map((doc) {
return Object(
date: doc.data['date'] ?? Timestamp.now(),
name: doc.data['name'] ?? ''
);
}).toList();
}
Stream<List<Object>> get objList {
return collection.snapshots().map(_objectDetailsfromSnapshot);
}

然后我使用where条件来获取今天的项目。使用这个填充列表视图。问题是,当当前日期从昨天更改为今天时,我的列表视图仍然显示昨天的项目。我希望列表视图自动显示今天的项目。我可以采取什么方式来实现这一点。请帮忙。

由于它是一个流,如果您更新日期或发布新内容,它应该会自动更改。请正确检查日期格式。为了在Firestore使用中保存日期,

'date' : FieldValue.serverTimestamp(),

流将是

Firestore.instance.collection('objects').orderBy('date', descending: true).snapshots(),

然后在您的StreamBuilder 中

return Container(
ListView(
children: snapshot.data.documents.map((doc) => 
_objectList(doc)).toList(),
),
),
Widget _objectList(DocumentSnapshot doc){
return ListTile(
title: Text(documentSnapshot.data['name']),
subtitle: Text(documentSnapshot.data['name']),
);
}

最新更新