bug描述
在luckySheet中,一些步骤会导致多次执行setOption,即使第二个参数notMerge设为true,还是会出现绘图错误的问题,截图如下:
如果打开控制台一步一步调试,图表是正常显示的,如果关闭控制台,则会出现上图的情况,因此可以怀疑是和异步什么的有关系。
代码修改
找到luckySheet中图表的源代码项目【chartMIx】,然后找到chartUtil.js文件,找到setOption的位置。
解决办法就是在setOption之前进行clear,修改后代码如下:
分析可能得原因
多次setOption是同步执行,而echarts渲染出图表是异步的,不开控制台就会短时间多次渲染,导致渲染出错,而开启控制台会在一定程度上延长时间,使其能正确渲染。
如果不使用clear。而是用setTimeout包裹setOption也是可以解决这个问题。