Flutter,如果 firebase 数据为空则显示文本

Flutter, display text if firebase data is empty

我正在从 firebase 获取数据并将其显示在屏幕上,最初,firebase 数据将为空,所以我想显示文本Press + to add data。我尝试使用 if conditionsnapshot.data!.docs ==null 来做,但没有用,但它没有用。用户将数据添加到 firebase 后,流构建器将获取并显示它,文本将不存在。如何实现。

StreamBuilder(
                    stream: FirebaseFirestore.instance
                        .collection('lender')
                        .doc(auth.currentUser!.email)
                        .collection('borrowers')
                        .snapshots(),
                    builder: (context, AsyncSnapshot<QuerySnapshot> snapshot) {
                      if (!snapshot.hasData) {
                        return const Center(
                            child: CircularProgressIndicator(
                          backgroundColor: Color(0xff8eacbb),
                        ));
                      }
                      if (snapshot.data!.docs ==null) {
                        return Text(
                          'Press + to add data',
                          style: TextStyle(fontSize: 20),
                        );
                      } else {
                        return ListView(
                            children: snapshot.data!.docs.map((data) {
                          return BorrowerCard(BorrowerName: data['Name']);
                        }).toList());
                      }
                    },
                  )

我也尝试显示文本而不是 CircularProgressIndicator,但文本只显示了几秒钟,但我希望它显示直到用户添加数据。

对于没有结果的查询,您将获得包含 文档数组的快照。所以要检查一下:

if (snapshot.data!.docs.isEmpty) {