Как запустить графики в главном дротике? - порхать

Я пытаюсь запустить графики из библиотеки во флете. Я не могу запустить с помощью main.dart.

Основной дротик:

import './widgets/chart.dart';

void main() {
  runApp(
    new MaterialApp(
      home: PointsLineChart(),
    ),
  );
}

диаграмма.дротик:

import 'package:flutter/material.dart';
import 'package:charts_flutter/flutter.dart' as charts;

class PointsLineChart extends StatelessWidget {
  final List<charts.Series> seriesList;
  final bool animate;

  PointsLineChart(this.seriesList, {this.animate});

  /// Creates a [LineChart] with sample data and no transition.
  factory PointsLineChart.withSampleData() {
    return new PointsLineChart(
      _createSampleData(),
      // Disable animations for image tests.
      animate: false,
    );
  }

  @override
  Widget build(BuildContext context) {
    return new charts.LineChart(seriesList,
        animate: animate,
        defaultRenderer: new charts.LineRendererConfig(includePoints: true));
  }

  /// Create one series with sample hard coded data.
  static List<charts.Series<LinearSales, int>> _createSampleData() {
    final data = [
      new LinearSales(0, 5),
      new LinearSales(1, 25),
      new LinearSales(2, 100),
      new LinearSales(3, 75),
    ];

    return [
      new charts.Series<LinearSales, int>(
        id: 'Sales',
        colorFn: (_, __) => charts.MaterialPalette.blue.shadeDefault,
        domainFn: (LinearSales sales, _) => sales.year,
        measureFn: (LinearSales sales, _) => sales.sales,
        data: data,
      )
    ];
  }
}

/// Sample linear data type.
class LinearSales {
  final int year;
  final int sales;

  LinearSales(this.year, this.sales);
}

Ошибка, которую я получаю, заключается в том, что в main.dart мне нужно что-то ввести, чтобы запустить chart.dart. В PointsLineChart(),

это дает мне ошибку:

Ожидается 1 обязательный аргумент(ы), но найдено 0.dart(not_enough_required_arguments) (новый) PointsLineChart(List> seriesList, {bool animate}) → PointsLineChart

0
0
262
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Конструктор PointsLineChart принимает два аргумента:

PointsLineChart(this.seriesList, {this.animate});

тогда как в вашем main.dart вы не приводите аргументов:

home: PointsLineChart(),// here you need to add two arguments!!!

Измените код, как показано ниже:

runApp(
new MaterialApp(
  home: PointsLineChart(PointsLineChart.createSampleData(), animate: false),
),

);

также измените _createSampleData на createSampleData, чтобы сделать его общедоступным.

Другие вопросы по теме

Swift 4 и Xcode 10. Воспроизведение видео при запуске приложения, когда оно будет завершено, открыть контроллер просмотра
Почему я не могу получить автоматическое изменение длительности экспозиции, если для параметра ExposureMode установлено значение AVCaptureExposureModeContinuousAutoExposure
Как обновить progressView при загрузке чего-либо в реальном мире
Эта функция не распознает мой ключ при удалении рекламы через покупку в приложении?
Как установить звук уведомления, когда приложение не запущено в React-Native firebase
Xcode 10 - невозможно локализовать название контроллера UINavigation
Быстро создать объект URL из данных (массив байтов) без записи на диск
Выполнение буфера команд было прервано из-за ошибки во время выполнения. Вызванная ошибка тайм-аута графического процессора (код IOAF 2)
Swift DateComponentsFormatter отбрасывает начальные нули, но сохраняет хотя бы одну цифру в минутах
Как получить уведомление, когда ранее подключенное периферийное устройство повторно подключается позже (соединение, исходящее от периферийного устройства)?