问题描述
我想要一个显示上周数据的图表。因此,我使用 bezier_chart。一切正常,但我希望显示的数据在列表中。我没有将数据直接放在 data:
中(就像在教程中一样),而是直接在 var datatest 中提供,但出现错误。错误是:type 'List<dynamic>' is not a subtype of type 'List<DataPoint<DateTime>>' of 'function result'
。
有人知道这个问题的解决方案吗?
这是我在 BezierChart 中的代码:
child: BezierChart(
fromDate: fromDate,bezierChartScale: BezierChartScale.WEEKLY,toDate: toDate,selectedDate: toDate,series: [
BezierLine(
label: "Duty",onMissingValue: (dateTime) {
return 0.0;
},data: dataTest,),
这是我的数据测试列表:
var dataTest = [
DataPoint<DateTime>(
value: 10,xAxis: DateTime.Now().subtract(Duration(days: 2))),DataPoint<DateTime>(
value: 100,xAxis: DateTime.Now().subtract(Duration(days: 3))),];
这是示例的链接: https://pub.dev/packages/bezier_chart
解决方法
试试:
List<DataPoint<DateTime>> dataTest = [
DataPoint<DateTime>(
value: 10,xAxis: DateTime.now().subtract(Duration(days: 2))),DataPoint<DateTime>(
value: 100,xAxis: DateTime.now().subtract(Duration(days: 3))),];
问题是 data
中的 BezierChart
参数需要 List<DataPoint<DateTime>>
但由于您将列表声明为 var List
,编译器会抱怨您不强制执行可以进入您创建的列表的值的类型