简体   繁体   English

如何使用 Streambuilder 和 firebase QuerySnapshot 使用 GroupedListView

[英]How to use GroupedListView using Streambuilder and firebase QuerySnapshot

I am trying to use the GroupedListview() showing some data from Firebase cloud.我正在尝试使用 GroupedListview() 显示来自 Firebase 云的一些数据。 When i am using the normal Listview.builder() everything is working fine.当我使用普通的 Listview.builder() 时,一切正常。 But i dont get the GroupedListview working.但我没有让 GroupedListview 工作。 My Snapshot.docs has a Timestamp called ['date'] and i want to use it to seperate sort and seperate the List.我的 Snapshot.docs 有一个名为 ['date'] 的时间戳,我想用它来分隔排序和分隔列表。

here you see my normal ListView:在这里你可以看到我正常的 ListView:

StreamBuilder<QuerySnapshot>(
            stream: _firestoreDb,
            builder: (context, snapshot) {
              if (!snapshot.hasData) return CircularProgressIndicator();
              return ListView.builder(
                  physics: BouncingScrollPhysics(),
                  reverse: true,
                  itemCount: snapshot.data.docs.length,
                  itemBuilder: (context, int index) {
                    return JumpTile(
                      snapshot: snapshot.data,
                      index: index,
                    );
                  });
            }),

This is my try to use the GroupedListview:这是我尝试使用 GroupedListview:

StreamBuilder<QuerySnapshot>(
            stream: _firestoreDb,
            builder: (context, snapshot) {
              if (!snapshot.hasData) return CircularProgressIndicator();
              return GroupedListView(
                  elements: snapshot.data.docs,
                  groupBy: (element) => element['date'],
                  groupHeaderBuilder: (element) =>
                      Text(element['date'].toString()),
                  indexedItemBuilder: (context, snapshot, int index) {
                    return JumpTile(
                      snapshot: snapshot.data,
                      index: index,
                    );
                  });
            }),

This is the Error i get shown: type '() => Map<String, dynamic>' is not a subtype of type 'QuerySnapshot'这是我显示的错误:类型'() => Map<String, dynamic>' 不是类型'QuerySnapshot' 的子类型

you can use FutureBuilder and ins你可以使用 FutureBuilder 和 ins

FutureBuilder(
  future: _firestoreDb,
  builder: (context, snapshot) {
      if (!snapshot.hasData) {
          return CircularProgressIndicator();
          } else {
          return Container(
                child: GroupedListView<dynamic, String>(
                            elements: snapshot.data.docs,
                            groupBy: (element) => element.date, //and edit these lines
                            groupSeparatorBuilder: (String value) =>
                            Text(value),itemBuilder: (c, element) {
                                   return ListTile(
                                             title: Text(element.data),
                                                        );
                                                      }),
                                                );
                                              }
                                            }),

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 在 StreamBuilder 中使用 GroupedListView flutter - use GroupedListView in StreamBuilder flutter Flutter:使用 Streambuilder 时如何在 Firestore 中获取特定文档<querysnapshot></querysnapshot> - Flutter: How to get a specific document in firestore when using Streambuilder<QuerySnapshot> 如何使用StreamBuilder从Firestore添加/获取数据 <QuerySnapshot> 扑扑? - How add/fetch data from firestore using StreamBuilder<QuerySnapshot> in flutter? 如何使用 firebase 和 flutter 与流实现分页并在流构建器中使用它 - how to implement pagination using firebase and flutter with streams and use it in streambuilder 如何使用 StreamBuilder 在 Flutter 中观察 Firebase 的变化 - How to observe Firebase changes in Flutter using StreamBuilder 如何从 firebase 中提取数据并将其用于提取另一个数据以在 StreamBuilder 中使用它 - How to pull a data from firebase and use it for pulling another data to using it in StreamBuilder Flutter - 使用 StreamBuilder 从 firebase 获取数据后,如何使用 ScrollController 跳转到列表视图的底部? - Flutter - How to use ScrollController to jumpto the bottom of the listview after fetching data from firebase using StreamBuilder? 流生成器<QuerySnapshot> (脏,状态:_StreamBuilderBaseState <QuerySnapshot, AsyncSnapshot<QuerySnapshot> ): - StreamBuilder<QuerySnapshot>(dirty, state: _StreamBuilderBaseState<QuerySnapshot, AsyncSnapshot<QuerySnapshot>): Firebase + Flutter:使用 StreamBuilder() 登录 - Firebase + Flutter: login using StreamBuilder() Flutter Firestore 尝试使用 Stream 我是如何使用 QuerySnapshot - Flutter Firestore trying to use Stream how I was using QuerySnapshot
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM