颤振firebase过滤streambuilder类别

颤振firebase过滤streambuilder类别,firebase,flutter,Firebase,Flutter,您好,我是Firebase的新手,我一直在搜索如何根据用户点击的类别筛选streambuilder。遗憾的是,我什么也没找到 StreamBuilder<QuerySnapshot>( stream: (searchString == null || searchString.trim() == '') ? FirebaseFirestore

您好,我是Firebase的新手,我一直在搜索如何根据用户点击的类别筛选streambuilder。遗憾的是,我什么也没找到

StreamBuilder<QuerySnapshot>(
                    stream: (searchString == null ||
                            searchString.trim() == '')
                        ? FirebaseFirestore.instance
                            .collection('posts')
                            .snapshots()
                        : FirebaseFirestore.instance
                            .collection('posts')
                            .orderBy('category')
                            .where('category', isEqualTo: '1')
                            .where('category', isEqualTo: '2')
                            .where('category', isEqualTo: '3')
                            .where('category', isEqualTo: '4')
                            .where('category', isEqualTo: '5')
                            .where('category', isEqualTo: '6')
                            .where('searchKey', arrayContains: searchString)
                            .snapshots(),
StreamBuilder(
流:(searchString==null)||
searchString.trim()=='')
?FirebaseFirestore.instance
.collection(“posts”)
.快照()
:FirebaseFirestore.instance
.collection(“posts”)
.orderBy('类别')
.where('category',isEqualTo:'1')
.where('category',isEqualTo:'2')
.其中('category',isEqualTo:'3')
.where('category',isEqualTo:'4')
.其中('category',isEqualTo:'5')
.where('category',isEqualTo:'6')
.where('searchKey',arrayContains:searchString)
.snapshots(),
我应该向GestureDetector添加什么来将这两个链接到一起呢?

where filter is“And ed(&&&)”和下一个,因此在这种情况下,您的“category”不能同时等于“1”、“2”和“3”等等


您可以使用许多解决方案,例如.where('category',其中:['1','2'])

我不理解您的以下问题,请澄清。如果您认为我的第一个答案有帮助,请在已解决的问题上打勾:)我想让用户选择他想看到的分类类型,只需按一个按钮,然后如答案中所述,将他按的类别添加到数组中,然后查询以获得与用户选择的类别匹配的结果。其中('category',其中:['1','2'])好的,但如何将其链接到onpress以在用户点击时过滤流生成器