Flutter 颤振从数据模型获取firestore数据并用作图表的数据
我有一个如下所示的数据模型:Flutter 颤振从数据模型获取firestore数据并用作图表的数据,flutter,dart,charts,google-cloud-firestore,Flutter,Dart,Charts,Google Cloud Firestore,我有一个如下所示的数据模型: class PieChartDataGraph { DateTime date; String books; PieChartDataGraph(this.date, this.books); PieChartDataGraph.fromJSON(Map<String, dynamic> json) { date = json['date']; books = jso
class PieChartDataGraph {
DateTime date;
String books;
PieChartDataGraph(this.date, this.books);
PieChartDataGraph.fromJSON(Map<String, dynamic> json) {
date = json['date'];
books = json['books'];
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = Map<String, dynamic>();
data['date'] = this.date;
data['books'] = this.books;
return data;
}
}
类PieChartDataGraph{
日期时间日期;
弦乐书;
PieChartDataGraph(this.date,this.books);
PieChartDataGraph.fromJSON(映射json){
date=json['date'];
books=json['books'];
}
映射到JSON(){
最终地图数据=地图();
数据['date']=此日期;
数据['books']=this.books;
返回数据;
}
}
然后我尝试从Firestore获取数据:
Future<List<PieChartDataGraph>>
getPieChartData() async {
FirebaseUser user =
await _auth
.currentUser();
var val = await Firestore
.instance
.collection("users")
.document(user.uid)
.collection("moments")
.orderBy('date')
.where('date',
isGreaterThanOrEqualTo: isWeekly
? today.subtract(
Duration(
days: today
.weekday))
: today.subtract(
Duration(
days:
30)))
.getDocuments();
var documents =
val.documents;
if (documents.length > 0) {
try {
return documents
.map((document) {
PieChartDataGraph
pieChartData =
PieChartDataGraph
.fromJSON(Map<
String,
dynamic>.from(
document
.data));
return pieChartData;
});
} catch (e) {
return [];
}
}
return [];
}
未来
getPieChartData()异步{
FirebaseUser用户=
等待授权
.currentUser();
var val=等待Firestore
.例如
.收集(“用户”)
.document(user.uid)
.收藏(“瞬间”)
.orderBy('日期')
.其中(‘日期’,
是每周吗
今天。减去(
持续时间(
天:今天
(星期一)
:今天。减去(
持续时间(
天:
30)))
.getDocuments();
风险值文件=
增值税文件;
如果(documents.length>0){
试一试{
归还文件
.map((文档){
PieChartDataGraph
Piechart数据=
PieChartDataGraph
.fromJSON(映射<
一串
动态>.from(
文件
(a.数据);
返回数据;
});
}捕获(e){
返回[];
}
}
返回[];
}
我如何使用它从Firestore数据库获取数据,然后将数据作为图表的数据点动态返回(在本例中为折线图和饼图)
请注意,我正在查看FL图表包
提前谢谢你的帮助