首页 > 解决方案 > Flutter - 在其他模型中导入模型

问题描述

Flutter中,我有两个模型。我们可以打电话给父亲和儿子。

儿子模型是

 class GraphData {
      int timestamp;
      double value;
      bool error;

  GraphData({
    this.timestamp,
    this.value,
    this.error,
  });

  factory GraphData.fromJson(Map<String, dynamic> json) => new GraphData(
        timestamp: json["x"],
        value: json["y"],
        error: json["error"],
      );
}

和父亲模型

import 'graph_data_model.dart';

class Graph {
  String name;
  List<GraphData> data; 
  int type;

  Graph({
    this.name,
    this.data,
    this.type,
  });

  factory Graph.fromJson(Map<String, dynamic> json) => new Graph(
        name: json["name"],
        data: json['data'], //Error here
        type: json["type"],
      );
}

我想在父亲模型中导入儿子。使用此代码返回

_TypeError(类型'List <动态>'不是类型'List < GraphData>'的子类型)

那么:这样做的正确方法是什么?

解决方案

儿子模型

import 'graph_data_model.dart';

class Graph {
  String name;
  List<GraphData> data;
  int type;

  Graph({
    this.name,
    this.data,
    this.type,
  });

  factory Graph.fromJson(Map<String, dynamic> json) {
    var list = json['data'] as List;
    List<GraphData> data = list.map((i) => GraphData.fromJson(i)).toList();

    return Graph(
      name: json["name"],
      data: data,
      type: json["type"],
    );
  }
}

标签: flutterdartmodel

解决方案


推荐阅读