最近在搞echarts的brush的时候遇到一个这样的问题,大概是这样的:
在echart的demo里面做了一个brushEnd的监听事件,为了获取到选框的范围。
在这里不用brushSelected的原因是使用echarts的过程中会频繁的触发该事件,虽然可以用brush.throttleType和brush。throttleDelay来解决,但总的来说体验不好。
问题描述:
1.首先我在echarts的demo里面进行了第一次brush,并console了内容
这时候可以看到coordRange里面的数组是正常的坐标轴数值
2.然后选择了保持选择框,在同一页进行了第二次brush
可以看到console打印了两个数组,且都是正常打印的坐标轴数值
3.拉动滚动条后进行第三次brush(问题出现)
从console的内容发现,打印了三个数值,但是前两个数组的数值明显不是之前brush的坐标值。
解决办法:
经过观察发现areas里面的range每次都是不一样的,于是想到了用range(像素)转换成坐标轴上的值
参考echarts的官方文档后:
转换了range的值发现和coordRange的值基本一致。
如果有更好的解决办法欢迎各位大佬指导一下!