首页 > 解决方案 > 在 Flutter 中显示特定的 Firestore 文档

问题描述

我只想在 Flutter 中显示 Firestore 中的特定文档。为此,我尝试使用一个if语句,但我只收到一个没有数据的空白屏幕。如果我删除该if声明,那么我将显示所有文件。

标签: fluttergoogle-cloud-firestoreflutter-layout

解决方案


除了获取整个集合之外,您还可以通过此获取特定文档。在这种情况下无需添加if条件。请参见下面的代码。

  StreamBuilder(
    stream: FirebaseFirestore.instance.collection("<collectionPath>").doc("<docId>").snapshots(),
    builder: (BuildContext context, AsyncSnapshot<DocumentSnapshot> snapshot) {
      return ListView();
    },
  );

我刚试过,下面的代码适用于我的情况。

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: "test",
      home: Scaffold(
        body: StreamBuilder(
          stream: FirebaseFirestore.instance
              .collection("<collection>")
              .doc("<docId>")
              .snapshots(),
          builder:
              (BuildContext context, AsyncSnapshot<DocumentSnapshot> snapshot) {
            return Center(
              child: Text(snapshot.data.data()["fieldName"]),
            );
          },
        ),
      ),
    );
  }
}
  • 请分享您的代码进行测试。

就我而言,我正在使用cloud_firestore: ^1.0.3


推荐阅读