如何解决如何根据条件进行查询?
我想根据某些无法满足的条件为StreamBuilder<QuerySnapshot>
处理查询。下面是编码的查询
Query query;
if (a==b){
query = Firestore.instance.collection('collection1');
}
else if (c==d){
query = Firestore.instance.collection('collection2');
}
else if (e==f){
query = Firestore.instance.collection('collection3');
}
内部小部件构建
StreamBuilder<QuerySnapshot>(
stream: query.snapshots(),builder: (context,snapshot){
if (!snapshot.hasData){
return Text("Loading");
}
return ListView.builder(
itemCount: snapshot.data.documents.length,itemBuilder: (context,index){
String names = snapshot.data.documents[index]['name'];
List steps = List.castFrom(snapshot.data.documents[index]["steps"])
return NameCard(names: names,steps: steps);
});
},)
在检查条件之后,我需要切换查询,然后满足if-else
条件的查询将继续进行以使事情发生StreamBuilder<QuerySnapshot>
,但是如果只有一个查询,工作完美。但是当我尝试根据条件切换查询不起作用时,会出现空快照错误。
如何根据条件切换查询?
解决方法
请在每种情况下尝试如下:
setState(){
query = Firestore.instance.collection('collection1');
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。