Echarts报错 Can't read property 'getWidth' of null

别的时候都正常,但是窗口刷新就会报错

通过chart.getWidth()可以拿到值

clipboard.png

阅读 10.1k
3 个回答
新手上路,请多包涵

我也遇到了这个报错,使用的是vue-echarts
复现路径是
1.点击图标上的某一项数据,此时显示了tooltip,并保持鼠标位置不变,tooltip也就一直在显示状态
2.响应点击事件去拉取数据的子项数据列表
3.更新图表数据 & 报错 Can't read property 'getWidth' of null

在我看了好几遍这个顺序后发现了规律,只要更新数据时将鼠标移出图表区域就不会报错,也就是关闭tooltip显示。
所以在更新数据前执行dispatchAction({ type: 'hideTip' })就可以避免。
当然从源码解决这个问题最好...

1.chart.getWidth()是获取容器宽度
http://echarts.baidu.com/api....

2.你这里的报错与echarts无关,与zrender有关,zrenderecharts依赖的canvas绘图库

3.你不需要了解zrender,这个问题是你代码出了错

4.不把代码发出来,我也不知道错在哪

5.errorwarning信息很有用,它列出了错误发生时的函数调用栈,你这里直接报错的函数是ZRender.getWidth(),外层依次是第二行到最后一行的函数

设置一下initOptions就可以绕开这个错误了。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏