StreamBuilder<QuerySnapshot>(
stream: _fireStore.collection('messages').orderBy('creation',descending:
true).snapshots(),
// ignore: missing_return
builder: (context, snapshot) {
if (!snapshot.hasData) {
return Center(
child: CircularProgressIndicator(
backgroundColor: Colors.lightBlueAccent,
),
);
}
// print('i have data');
print(snapshot.data.documents);
print(snapshot.data.documents);正在输出空值。 “创建”是添加到消防站中的时间戳字段。
https://github.com/umakanth-pendyala/Chat-app-with-flutter-and-fire-base 是我在Github中的项目的链接。代码片段来自lib文件夹中的chat_screen页面
答案 0 :(得分:2)
尝试以下操作:
builder: (context, snapshot) {
if (!snapshot.hasData) {
return Center(
child: CircularProgressIndicator(
backgroundColor: Colors.lightBlueAccent,
),
);
}
else if(snapshot.hasData){
print(snapshot.data.documents);
}
return CircularProgressIndicator();
首先,您需要返回一个小部件,然后,如果您要打印数据,则需要检查快照中是否有数据。在您的代码中,由于这是异步的,因此它将始终显示null。
完成上述操作后,还将查询更改为以下内容:
_fireStore.collection('messages').orderBy('created',descending: true).snapshots(),
由于您在文档中有一个名为created
的字段,而不是creation
。