解决echarts 无法重新刷新的问题

在特殊情况下,我们可能是用echarts实例并且setOption()但无法刷新表格内容,例如:我们修改了div容器的内部标签等等...

原因可能是我们破坏了第一次渲染的div容器的结构,

echarts的渲染逻辑是这样的:
 如果未实例化则进行实例化过程,在此期间会在div容器生成一个 _echarts_instance_ 属性, 该属性值其实就是当前echarts的ID,然后进行后边的渲染操作...

当我们刷新已经实例化的echarts图表时,echarts会先匹配改div容器上的_echarts_instance_属性值是否与实例对象的ID一样,如果一样则会在原有的结构上进行渲染,但是因为我破坏了原有的结构,所以无法重新渲染出表格内容,所以我们可以执行如下代码:

document.getElementById('div的ID').setAttribute('_echarts_instance_', '')

这样div的_echarts_instance_值就不会被匹配到,这样echarts就会像渲染新的图标一样渲染出来

注:这样的操作会重新渲染echarts的div容器结构,也就是重新操作了dom,会影响性能

猜你喜欢

转载自my.oschina.net/jamesview/blog/1648750
今日推荐