echarts配置,数据动态更新缓存问题优解

经常做可视化开发的童鞋多少会遇到这样一个问题,有时候echarts配置或数据在做频繁动态更新时,会出现一些问题。

1.配置更新不生效

2.数据错乱

3.神奇诡异图表样式错乱的bug

有了问题,那么肯定要想办法解决。

so,百度一搜,清一色博客提供的思路都是

1. 配置、数据每次更新前执行dispose,然后再重新init echarts创建一个新的实例

echarts配置,数据动态更新缓存问题优解_第1张图片

echarts配置,数据动态更新缓存问题优解_第2张图片

2.执行echarts 的clear方法,然后再重新setOptions

echarts配置,数据动态更新缓存问题优解_第3张图片

 

抛开性能不谈,这两种方法给用户最直观的感受,就是会看到图表重新渲染了。

当然,也可以用一个简单的方法蒙蔽用户。 ----- 设置图表的animation = false

应该大部分类型图表都会提供一个开关动画的参数,把它关掉图表会有一个快速闪烁的动作,但是不会给用户太明显的感知

echarts配置,数据动态更新缓存问题优解_第4张图片

 

但是呢!!!这个解决其实也并不是很好。毕竟用户看到了快速的闪烁,也不算很优。

最后,上主菜。

其实还有一个方法是可以直接设置setOptions的第二个参数为true即可。

那么第二个参数是什么意思呢。上图

echarts配置,数据动态更新缓存问题优解_第5张图片

我觉得老司机看到这里应该就会恍然大悟,原来是这么一回事。

没错,官方默认开启和option 合并的操作,所以这些错误也有可能是合并的时候出错的。

原本的一些属性或者对象,在merge的时候并没有被去掉,所以更新了你会发现原来的配置还没变。data合并的时候出错,你会发现原本只有一条折线,突然变成了2条。

最后设置完之后,你,应该跟我一样,这些问题都没有了。并且你会发现图表并没有闪烁,如果你只是新增或者修改属性你会发现只是对应的属性增减。

 

以上为我的个人观点,如果大家发现我理解的有问题,欢迎给我留言讨论。谢谢!

 

 

 

你可能感兴趣的:(数据可视化,javascript,数据可视化)