Flutter - импорт модели в другую модель - PullRequest
2 голосов
/ 24 апреля 2020

В Флаттер У меня есть две модели. Мы можем позвонить Отцу и Сыну.

Модель Сына

 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 ')

Итак: Какой правильный способ сделать это ?

РЕШЕНИЕ

Модель сына

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"],
    );
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...