Flutter 给 Streambuilder initalData

TS GamesEu

我有一个Streambuilder将 Firebase Firestore 快照作为流的,我想添加initalDataStreambuilder.

我怎样才能传递initalDataStreambuilder

代码:

StreamBuilder(
  stream: FirebaseFirestore.instance
      .collection("events")
      .snapshots(),
  builder: (BuildContext ctx, AsyncSnapshot<QuerySnapshot> snapshot) {
    if (!snapshot.hasData || snapshot.data.docs.isEmpty) {
      return NoDataRelatedLocation();
    }
    if (snapshot.hasError) {
      return Text(snapshot.error.toString());
    } else {
      return new RelatedLocationListing(
        relatedLocationList: snapshot.data.docs,
      );
    }
  },
),
下巴

您可以添加initialDataStreamBuilder

StreamBuilder(
   initialData: ..... // <~~~ add it here. 
   stream: ... 
   builder: ...

您只需要确保initialData匹配来自流的数据类型。由于QuerySnapshot是 Firebase 特定类型,您应该将您的流映射到您可以创建并且您知道的数据类型。

这是一个伪代码:

initialData: [MyDataType()],
stream: FirebaseFirestore.instance
      .collection("events")
      .snapshots().map((snapshot) => MyDataType.fromMap(snapshot.doc));

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章