我正在使用Google的this图表库。
我正在创建一个新的LineChart,例如
chart = new charts.LineChart(
series,
animate: true,
domainAxis: new charts.NumericAxisSpec(
viewport: new charts.NumericExtents(3101.0, 3600.0)),
behaviors: [
new charts.PanBehavior(panningCompletedCallback: _onPanEnd),
],
);
我希望能够访问从BaseChart继承的属性。继承是这样的:LineChart扩展了NumericCartesianChart扩展了CartesianChart扩展了BaseChart。
我可以毫无问题地访问CartesianChart的属性,但不能访问BaseChart的属性。
print(chart.domainAxis.viewport);
输出“ flutter:Extent(3101.0,3600.0)”
但是
print(chart.chartHeight);
引发
flutter: ══╡ EXCEPTION CAUGHT BY WIDGETS LIBRARY ╞═══════════════════════════════════════════════════════════
flutter: The following NoSuchMethodError was thrown building MyHomePage(dirty, state:
flutter: _MyHomePageState#4dfc6):
flutter: Class 'LineChart' has no instance getter 'chartHeight'.
flutter: Receiver: Instance of 'LineChart'
flutter: Tried calling: chartHeight
超级感谢任何可以提供帮助的人!
答案 0 :(得分:1)
这让我感到困惑-dart继承通常可以正常工作,如果不是,那么很多东西就必须出错了!
但是,问题是'charts_flutter'和'charts_common'库非常相似,并且都碰巧包含了'BaseChart'和'LineChart'。因此,您应该改用flutter_charts' version of BaseChart和of LineChart。
不幸的是,这不能解决您不能访问'chartHeight'的问题,因为该类没有chartHeight,但是希望您现在能够以其他方式解决基础问题重新阅读正确的文档。