我面对这个问题,结果只在UI中显示为"空",我想不出解决的办法.我正在使用Provider 作为状态管理.作为后端的Firebase.

我只是在执行一个简单的操作,就是获取数据.

这是服务代码

Stream<List<CategoryModel>> getCateogoriesFromFirebase() {
  final categoryCollection =
      fireStoreInstance.collection('categories').snapshots();

  return categoryCollection.map((querySnapshots) {
    var categories = <CategoryModel>[];

    for (var singleCate in querySnapshots.docs) {
      CategoryModel categoryModel = CategoryModel.fromFirebase(singleCate);

      categories.add(categoryModel);
    }

    return categories;
  });
}

以下是控制器部分的代码

Stream<List<CategoryModel>> getCategoriesFiresotre() {
  return _dataBaseService.getCateogoriesFromFirebase();
}

以下是视图代码

SizedBox(

  height: 72,
  child: StreamBuilder(
      stream: Provider.of<HomeController>(
        context,
      ).getCategoriesFiresotre(),
      builder: (context, snapsshot) {
        if (snapsshot.data?.length == 0) {
          return Text('empty');
        }

        if (snapsshot.data != null) {
          return ListView.builder(
              shrinkWrap: true,
              physics: const BouncingScrollPhysics(),
              scrollDirection: Axis.horizontal,
              itemCount: snapsshot.data?.length,
              itemBuilder: (c, i) {
                return Container(
                  margin: const EdgeInsets.all(5),
                  height: 50,
                  width: 100,
                  color: Colors.blueGrey,
                  child: Center(
                    child: Text(
                        snapsshot.data?[i].category ?? 'Category'),
                  ),
                );
              });
        }
        return CircularProgressIndicator();
      }),
),

The output, In the UI is only the Text widget "Empty" I have checked the Firestore rules, They are all up to date. enter image description here

推荐答案

我哥哥解决了这个问题.他能够解决这个问题,这个问题不在代码中,而不是在Firestore内.我错过了打字,写了categories ,而不是categories.我在结尾处给了一个额外的空间导致了这个问题.祝你在编码开发人员时好运.

Flutter相关问答推荐

为什么小部件会在其父文件中重建,但放在单独文件中时却不会重建?

滚动时应用栏 colored颜色 更改Flutter

SupabaseFlutter 集成问题:无法更新行

如何在Ffltter Chrome应用程序中使用webview_fltter_web显示自定义html而不是外部uri?

Flutter -如何将导航轨道标签靠左对齐?

如何在表格日历标题下方添加文本?

将列表<;Events>;从Flutter 应用程序中的函数传回EventLoader属性时出错

一个API中有两个不同JSON响应的Flutter 改装问题

如何在Flutter中将背景 colored颜色 更改为黑色?

Supabase Auth:重定向到 Google.com 而不是我的应用程序

Flutter:如何在 Future 函数上添加网络判断和 showDialog

Flutter 未处理的异常 - 对 null 值使用 Null 判断运算符

用户文档 ID 与 Firestore 中的用户 ID 相同

如何正确地将 PageView 设置为 AppBar 的标题?

reactive_flutter_BLE - 应用找到设备但无法连接(并读取 BLE 数据)

小部件堆栈未显示顶层

如何与 PostgreSQL 和外部网站交互 flutter apk?

我正在try 使用 Firebase 在 Flutter 中使用 Google 注销,但它不起作用

Flutter 将方法应用于静态变量

Firebase Firestore 查询