我正尝试在 flutter 中运行库中的图表。我无法使用 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
最佳答案
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 以使其公开。
关于android - 我如何在 main dart 中运行图表? - flutter ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54642315/