【发布时间】:2021-03-03 22:45:34
【问题描述】:
我正在尝试使用可以在多个流中搜索的SearchDelegate()。现在我正在尝试在两者之间进行搜索。要合并两个 FireStore 流,我使用的是MergeStream()。我没有收到错误,但我只能看到第二个流的结果。这是我的代码:
Stream stream1 =
FirebaseFirestore.instance.collection('stream1').snapshots();
Stream stream2 =
FirebaseFirestore.instance.collection('stream2').snapshots();
Stream<QuerySnapshot> mergedStream =
MergeStream([stream1, stream2]);
return StreamBuilder(
stream: mergedStream,
builder: (BuildContext context, AsyncSnapshot<QuerySnapshot> snapshot) {
if (!snapshot.hasData)
return Center(
child: Text('Loading...'),
);
final results = snapshot.data.docs.where(
(DocumentSnapshot a) => a.data().toString().toLowerCase().contains(
query.toLowerCase(),
),
);
return Container(
margin: EdgeInsets.symmetric(vertical: 20.0),
child: ListView(................ etc,
【问题讨论】:
标签: flutter dart google-cloud-firestore stream rxdart