微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Flutter从数据模型中获取Firestore数据并将其用作图表数据

如何解决Flutter从数据模型中获取Firestore数据并将其用作图表数据

我有一个看起来像这样的数据模型:

    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;
      }
    }

然后我尝试从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 [];
                                                  }

如何使用它从Firestore数据库获取数据,然后动态地将数据作为图表的数据点返回(在这种情况下,对于折线图和饼图)。

请注意,我正在查看FL Chart软件包。

谢谢您的帮助。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。