在使用 Echarts 图表时可能会遇到的问题
数据未重置
问题描述:
- 我的数据改变了,但我的图表上还有之前的内容
- 我使用地图组件做了动态攻击线,但每隔一段时间重新请求数据后,动态线出现重影
原因:
刷新得重新初始化表格,而不只是重新绑定数据,不然之前的最后一条数据会遗留下来
解决:
查看API,发现通过 myChart.clear() 这个方法可以解决问题,是最简单的。
在 myChart.setOption(option) 之前使用这个方法。
相关文档:
https://q.cnblogs.com/q/79521/
图表宽高问题
问题描述:
当父级盒子宽高设置为100%,图表宽度变成100%
也有另一种情况,通过 display 来展示父级盒子是否展示,当父级盒子重新打开之后,图表宽高会变为0
原因:
Echarts 图表是根据你定义的div 的样式来确定图表的大小,当图表隐藏时,Echarts会找不到div的宽和高,再次显示时它会给自己一个非常小的默认宽高值,所以在隐藏显示后会发现它变得非常非常的小,或者消失
解决:
1 | <template> |
如果你需要多个图表进行切换,只需要封装一下就可以多次调用了
1 | <template> |
这里需要注意的是调用 getChartWH
方法要在 dom 元素渲染成功后,否则会找不到