flutter - 在 Flutter 中显示特定的 Firestore 文档
问题描述
我只想在 Flutter 中显示 Firestore 中的特定文档。为此,我尝试使用一个if
语句,但我只收到一个没有数据的空白屏幕。如果我删除该if
声明,那么我将显示所有文件。
解决方案
除了获取整个集合之外,您还可以通过此获取特定文档。在这种情况下无需添加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
推荐阅读
- firebase - 当网络连接不足或没有网络连接时颤动应用程序崩溃
- node.js - 跟踪按钮的点击并将其保存到 mongoDB
- r - if else 以列的行为条件
- apache-beam - Scio/Apache Beam,如何映射分组结果
- php - 映射 2 数组以生成所需的字符串
- php - 添加自定义 magento 选项失败:违反完整性约束
- r - 用哈希设置 R 的随机种子
- java - 如何在 Android 应用上加载默认语言
- key - 如何将对象添加到 gnuplot 中的键/图例?
- java - kotlin 中的多语言 Android 应用程序给出此消息:系统服务在 onCreate() 之前对活动不可用