当修改setOption值的时候,如果 option.series 是动态增加减少,图表渲染会出错。

比如,echarts 图表一开始只有单一的柱状图,后来通过 option.series 动态插入数据,新增折线图。这时候 echarts 图表是柱状图+折线图,显示没问题,后面将 option.series 的数据减少一个,按理说应该只存在柱状图,情况是柱状图的数据更新,但是折线图还在。

可以通过setOption的第二参数(notMerge)解决这个问题。

myChart.setOption(option,true)

这个字段的含义是全部组件更新,如果不想所有组件都更新,那么可以设置更新字段

myChart.setOption(option, {
    replaceMerge: ['xAxis', 'series']
});

另外,setOption中3个参数的含义

  • option—— 图表的配置项和数据
  • notMerge—— 可选,是否不跟之前设置的 option 进行合并,默认为 false,即合并。
  • lazyUpdate—— 可选,在设置完 option 后是否不立即更新图表,默认为 false,即立即更新。

echart配置文档

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐