flutter - 将 firestore 数据下载到 Flutter List
问题描述
我是一个完整的颤振新手。
我想从 Firestore 下载一个简单的 carparkList 并将其放入列表(或地图??)。数据集似乎已成功下载(通过实际查看 print(cp) 中的数据来证明)。
但是在两行的“[”处出现了 synatx 错误(红色下划线):
title: Text(widget.carparkList[index].data().['name']),
subtitle: Text(widget.carparkList[index].data().['district']),
请帮助指出如何更正以下代码的语法错误:
import 'package:cloud_firestore/cloud_firestore.dart';
import 'package:flutter/material.dart';
class DownloadDataScreen extends StatefulWidget {
List<DocumentSnapshot> carparkList = []; //List for storing carparks
@override
_DownloadDataScreen createState() => _DownloadDataScreen();
}
class _DownloadDataScreen extends State<DownloadDataScreen> {
@override
void initState() {
readFromFirebase();
super.initState();
}
void readFromFirebase() async {
await FirebaseFirestore.instance
.collection('carpark')
.get()
.then((QuerySnapshot snapshot) {
snapshot.docs.forEach((DocumentSnapshot cp) {
widget.carparkList.add(cp);
// the following 'print' proves that data are successfully downloaded from firestore.
print('printing cp');
print(cp.data().runtimeType);
print(cp.data());
});
});
}
@override
Widget build(BuildContext context) {
return new Scaffold(
appBar: new AppBar(
title: new Text(
'Car Park',
style: TextStyle(fontSize: 20, fontWeight: FontWeight.bold),
),
centerTitle: true,
),
body: Column(
children: [
ListView.builder(
itemCount: widget.carparkList.length,
itemBuilder: (BuildContext context, int index) {
return ListTile(
title: Text(widget.carparkList[index].data().['name']),
subtitle: Text(widget.carparkList[index].data().['district']),
);
},
),
],
),
);
}
}
解决方案
将它们更改为:
title: Text(widget.carparkList[index].get('name')),
subtitle: Text(widget.carparkList[index].get('district')),
推荐阅读
- search - TFS 升级到 Azure DevOps - 是否可以知道搜索选项的用户是什么
- php - 如何根据某些条件调用不同的 WP 页面?
- qt - QT Creator 构建 qml 应用程序
- r - 如何通过将第一行除以第三行来创建行
- autoit - 如何使用 Autoit 中的窗口信息工具捕获窗口标题
- sql-server - 下划线之间的子字符串 - SQL Server 2008
- c# - 在查询中格式化或插入换行符
- python - 如何显示从 node.js 调用的 python 脚本的输出
- ios - NotificationCenter#addObserver(forName:object:queue:using:) 如何工作?
- tableau-api - 计算硬币的价值(加密货币)