经常做可视化开发的童鞋多少会遇到这样一个问题,有时候echarts配置或数据在做频繁动态更新时,会出现一些问题。
1.配置更新不生效
2.数据错乱
3.神奇诡异图表样式错乱的bug
有了问题,那么肯定要想办法解决。
so,百度一搜,清一色博客提供的思路都是
1. 配置、数据每次更新前执行dispose,然后再重新init echarts创建一个新的实例
2.执行echarts 的clear方法,然后再重新setOptions
抛开性能不谈,这两种方法给用户最直观的感受,就是会看到图表重新渲染了。
当然,也可以用一个简单的方法蒙蔽用户。 ----- 设置图表的animation = false
应该大部分类型图表都会提供一个开关动画的参数,把它关掉图表会有一个快速闪烁的动作,但是不会给用户太明显的感知
但是呢!!!这个解决其实也并不是很好。毕竟用户看到了快速的闪烁,也不算很优。
最后,上主菜。
其实还有一个方法是可以直接设置setOptions的第二个参数为true即可。
那么第二个参数是什么意思呢。上图
我觉得老司机看到这里应该就会恍然大悟,原来是这么一回事。
没错,官方默认开启和option 合并的操作,所以这些错误也有可能是合并的时候出错的。
原本的一些属性或者对象,在merge的时候并没有被去掉,所以更新了你会发现原来的配置还没变。data合并的时候出错,你会发现原本只有一条折线,突然变成了2条。
最后设置完之后,你,应该跟我一样,这些问题都没有了。并且你会发现图表并没有闪烁,如果你只是新增或者修改属性你会发现只是对应的属性增减。
以上为我的个人观点,如果大家发现我理解的有问题,欢迎给我留言讨论。谢谢!