首先,确认您的数据库权限设置正确且您正在使用正确的 Firebase 配置文件。然后,确保您的代码正确连接到 Firestore 并且您在正确的集合和文档路径中获取数据。如果此时仍无法解决问题,请考虑在检索数据后手动设置设置状态或使用 Futures 刷新 UI。例如:
class ProductList extends StatefulWidget {
@override
_ProductListState createState() => _ProductListState();
}
class _ProductListState extends State {
List _products = [];
@override
void initState() {
super.initState();
_getProducts();
}
Future _getProducts() async {
QuerySnapshot snapshot = await FirebaseFirestore.instance
.collection('products')
// 确保您在正确的文档路径下
.doc('my-products')
.collection('items')
.get();
List products =
snapshot.docs.map((doc) => Product.fromSnapshot(doc)).toList();
setState(() {
_products = products;
});
}
@override
Widget build(BuildContext context) {
return ListView.builder(
itemCount: _products.length,
itemBuilder: (BuildContext context, int index) {
Product product = _products[index];
return ListTile(title: Text(product.name));
},
);
}
}
下一篇:不会打印出查询的行号。