繁体   English   中英

尽管数据存在于云 Firestore 文档中,但 Stream Builder 在颤动中返回 Null 值

[英]Stream Builder Returning Null Value in flutter although Data is present in cloud firestore document

在我的流构建器返回空值的一种情况下,我需要帮助。

我正在尝试检索存储在 cloud firestore 中的服务列表,稍后将使用 listview builder 显示。 现在尝试在容器小部件中查看。

我正在从我的云 Firestore 数据附加快照。

提前致谢。

这是我的代码,

return Scaffold(
  key: _globalKey,
  body: Padding(
    padding: EdgeInsets.only(left: 20, top: 50, right: 20),
    child: StreamBuilder<QuerySnapshot>(
      stream: _firestore
          .collection('city')
          .doc(Pune)
          .collection(Pashan)
          .doc('merchantData')
          .collection('merchantInfo')
          .where('categoryType', isEqualTo: 'Services')
          .orderBy('storeType', descending: true)
          .snapshots(),
      builder: (context, AsyncSnapshot<QuerySnapshot> snapshot) {
        print(snapshot.data);
        if (snapshot.data != null) {
          _storeTypes.clear();
          for (var num in snapshot.data.docs) {[enter image description here][1]
            if (!_storeTypes.contains(num['storeType'])) {
              _storeTypes.add(
                num['storeType'],
              );
            }
          }
        }

        return ListView.builder(
          itemCount: _storeTypes.length,
          itemBuilder: (context, index) {
            return Container(
              child: Center(
                child: Text(_storeTypes[index]),
              ),
            );
          },
        );
      },
    ),
  ),

这是因为您在从 firebase 获取数据之前尝试使用数据,因此为避免上述错误,请在 if 条件上方添加以下代码。如果您发现此答案正确,请投票此答案

if (snapshot.hasError) {
            return Center(
              child: Text("Something went wrong"),
            );
          }
          if (!snapshot.hasData) {
            return Center(
              child: Text("No notice found"),
            );
          }

          if (snapshot.connectionState == ConnectionState.waiting) {
            return Center(child: CircularProgressIndicator());
          }

暂无
暂无

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

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM