我编写了这段代码,用于查询Firebase数据库并返回一些数据。直到几天前,这个东西都可以正常工作,但是我不知道为什么现在即使我的数据库中有数据也返回“无数据”
代码中是否有错误或导致此错误的其他原因?
从Firebase获取数据
getsearchfood(String query) {
Future<QuerySnapshot> search =
Firestore.instance.collection("data").getDocuments();
setState(() {
searched = search;
});
}
操作数据
buildsearchfood() {
return FutureBuilder(
future: searched,
builder: (context, snapshot) {
if (snapshot.hasData) {
print("no data");
}
else{
print("present data");
}
return Container(
);
},
);
}
答案 0 :(得分:0)
添加等待,因为它是异步操作
Future<QuerySnapshot> search =
await Firestore.instance.collection("data").getDocuments();
答案 1 :(得分:0)
您不需要像以前那样setState
。
尝试一下:
buildsearchfood() {
return FutureBuilder(
future: Firestore.instance.collection("data").getDocuments(),
builder: (context, snapshot) {
if (snapshot.hasData) {
// This means you have data. You can reference it in `snapshot.data`
}
else{
// This means NO data
}
},
);
}