问题描述
我创建了一个自定义 Flutter 小部件 (StreamBuilder) 来从 Firestore 获取数据。我使用这些数据来填充一个包含鞋子的 GridView。
我还需要来自其他集合的数据来填充 GridView。该集合包含某个用户喜欢的所有鞋款 ID。问题是我不想使用嵌套的 StreamBuilders 来获取第二个集合
是否可以在诸如 riverpod 之类的提供程序中获取喜欢的 shoesID 并监听更新?
final _firestore = FirebaseFirestore.instance;
class ProductsList extends StatelessWidget {
@override
Widget build(BuildContext context) {
return StreamBuilder<QuerySnapshot>(
stream: _firestore.collection('shoes').orderBy('title').snapshots(),builder: (context,snapshot) {
if (!snapshot.hasData) {
return Center(
child: CircularProgressIndicator(
backgroundColor: Colors.lightBlueAccent,),);
}
final shoes = snapshot.data.docs;
List<ProductColumn> productColumnsList = [];
for (var shoe in shoes) {
final title = shoe.data()['title'];
final price = shoe.data()['price'];
final imgurl = shoe.data()['imgurl'];
final rating = shoe.data()['rating'];
final sale = shoe.data()['sale'];
final subTitle = shoe.data()['subTitle'];
final isLiked = false;
productColumnsList.add(
ProductColumn(
title: title,price: price,imgurl: imgurl,rating: rating,sale: sale,subTitle: subTitle,isLiked: isLiked,);
}
return Expanded(
child: GridView.count(
childAspectRatio: 0.62,crossAxisspacing: 8.0,mainAxisspacing: 8.0,crossAxisCount: 2,children: productColumnsList,);
},);
}
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)