近期做echarts地图控件时踩到了一个坑
先说下需求:
点击全部时展示所有仓数据总量
点击单个仓时展示单个仓的数据

但是发现在点击单个仓时 数据并没有被清除 还是保留全部的数据
如下图(点击了西安仓)
在这里插入图片描述
西安仓中数据为空 正常应该是什么都不显示的
查看官方文档后发现原来set的时候是:
this.charts.setOption(option);
正确的应该是:
this.charts.setOption(option,true);
再次刷新,问题解决,
setOption有3个属性
setOption(option,notMerge,lazyUpdate);
第二个notMerge默认为false,即默认合并两个数据
置为true之后则不合并数据了,就可以实现刷新数据的效果了

 // mapChina为地图的初始化对象
 // mapChina.setOption(mapBoxOption); // 默认合并数据 展现最多的数据
    mapChina.setOption(mapBoxOption,true);

这样在选择单个仓时 如果没有数据就不会显示之前的数据了在这里插入图片描述

要是还是无法解决的话 可以在setOption之前先清除下画布(一定要在setOption之前清)

// 清空画布
   mapChina.clear()
// mapChina.setOption(mapBoxOption); // 默认合并数据 展现最多的数据
   mapChina.setOption(mapBoxOption,true);
Logo

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

更多推荐