我想从列表中的firestore读取数据我不想使用streambuilder我想单独访问文档字段我尝试了这个但没有工作
class ProductList extends StatelessWidget {
Stream<DocumentSnapshot> snapshot = Firestore.instance.collection("listofprods").document('ac1').snapshots();
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(),
body: Padding(
padding: const EdgeInsets.all(8.0),
child: Column(
mainAxisAlignment: MainAxisAlignment.start,
children: <Widget>[
Container(
decoration: BoxDecoration(
border: Border.all(color: Colors.black)
),
child: ListTile(
title: Text(snapshot['name']),//here error
),
)
],
8条答案
按热度按时间4c8rllxm1#
文件变更
svujldwt2#
试试这个:
ndh0cuux3#
在一个无状态的小部件中,我使用了以下代码:
代码:
最后一个代码可能会在cloud_firestore的不同版本上得到一些错误,我使用的版本是
其他错误是文本上有一些空值的红色屏幕,通过FutureBuilder直接调用数据来修复,如下所示:
x7rlezfr4#
可以使用
StreamBuilder
qc6wkl3g5#
这在FlutterFire中有效!我使用了DocumentSnapshot并等待。
通过使用
DocumentSnapshot
,您可以获得包括文档字段及其值的文档。DocumentSnapshot包含从Cloud Firestore数据库中的文档读取的数据。可以使用data()或get()提取数据以获取特定字段。
关键字
await
将一直等到所有异步函数完成。可以使用await关键字来获取异步表达式的完整结果。await关键字仅在异步函数中有效。
0lvr5msh6#
将
Streambuilder
用于flutter
中的流fcy6dtqo7#
thigvfpy8#
使用
null Safety
更新2023有两种方式:
1.流生成器
当您希望不断听取更改,并希望数据在不进行热重新加载/重新启动的情况下得到更新时
2.未来构建者
当您只想获取文档一次,并且不需要不断地监听文档的更改时。
流生成器
1.多个文档
2.单个文档
未来建筑师
1.多个文档
2.单个文档