【发布时间】:2021-10-20 02:47:28
【问题描述】:
List<Sport?> _sportListFromSnapshot(QuerySnapshot snapshot){
return snapshot.docs.map((doc){
return Sport(
name: doc.data['name'] ?? '',
sport: doc.data['sport'] ?? '',
age: doc.data['age'] ?? 0
);
}).toList();
}
我在 ['name']、['sport'] 和 ['age'] 下遇到此错误,我不知道如何解决它,因为对于教程中的人来说,它没有给他这个错误?我最近问了这个问题,并根据答案将代码更改为:
List<Sport?> _sportListFromSnapshot(QuerySnapshot snapshot){
return snapshot.docs.map((doc){
final data = doc.data as Map<String, dynamic>;
return Sport(
name: data['name'] ?? '',
sport: data['sport'] ?? '',
age: data['age'] ?? 0
);
}).toList();
}
但这仍然不能解决我的错误?我认为这是因为我的年龄变量是 int 而不是字符串。有人可以告诉我如何解决这个问题,因为我正在关注的教程中的人没有收到这些错误吗?
这是我的体育课:
class Sport {
final String name;
final String sport;
final int age;
Sport({required this.name, required this.sport, required this.age});
}
【问题讨论】:
-
您可以尝试打印
final data = doc.data as Map<String, dynamic>;中的数据吗?我想验证你的数据。 -
试试你的方法:
int.parse(data['age'])??0
标签: firebase flutter dart google-cloud-firestore