如何过滤和排序Flutter流,具有其属性的产品列表

问题描述

我是Flutter的新手,我使用provider作为状态管理,并使用firestore作为后端数据库。我正在从事电子商务应用程序的测试和学习。我在Firestore中收集了产品,并通过以下方式进行流处理:

  Stream<List<Product>> getProductList() {
    return products
        .snapshots()
        .map((snapShot) => snapShot.documents
            .map(
              (document) => Product.fromFire(document),)
            .toList());
  }

用户界面中:

    ...
    List<Product> productList = Provider.of<List<Product>>(context) ?? [];
    ...
    ListView.builder(
                itemCount: productList.length,itemBuilder: (context,index) {
                  return ProductCard(
                    product: productList[index],);
                },),...

非常好用产品ID对我的产品进行排序:

My discovery screen to show list of products

现在我要对产品进行排序:

1-价格>后裔

2-名称>后裔

并按产品类别过滤

如何实现不必再次从firestore中读取整个集合的功能

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)