【发布时间】:2021-04-25 16:25:40
【问题描述】:
基本上我需要将一个集合的字段保存在一个列表中。
这是负责连接到数据库的小部件:
Future<QuerySnapshot> MissionRetriever1() async{
await FirebaseFirestore.instance
.collection("quest")
.doc("1")
.get();
}
这是另一个文件中包含的小部件,负责将各种数据保存在列表中:
Future<void> getMission1() async{
var snap = await widget.mservice.MissionRetriever1();
for(var doc in snap.docs){
MissionData1.add(doc.data()['Q_Category']);
MissionData1.add(doc.data()['Q_Name']);
MissionData1.add(doc.data()['Q_Description']);
MissionData1.add(doc.data()['Q_Score']);
MissionData1.add(doc.data()['Q_Target']);
}
}
但是当我尝试在这样的 Text 小部件中的 List 内显示一个值时:
Text(MissionData1 == null ? "Loading..." : MissionData1[1],
style: TextStyle(
fontWeight: FontWeight.bold,
fontFamily: 'Roboto',
color: const Color(0xFF3A404C),
fontSize: 14.0.sp),),
他告诉我列表中没有值:RangeError(index): Invalid value: Valid value range is empty: 1
这是 Firestore 集合:
【问题讨论】:
标签: flutter google-cloud-firestore flutter-layout flutter-dependencies flutter-test