如何在使用vchart时,在onbrushEnd事件最后清除框选?

41 阅读1分钟

问题标题

如何在使用vchart时,在onbrushEnd事件最后清除框选?

问题描述

我正在使用@visactor/vchart图表库进行图表开发,遇到了一个问题,我需要在onbrushEnd事件最后清除brush的框选,但是目前我没有找到合适的api来实现这个需求。

解决方案

目前确实没有直接对应这个需求的api,但是这里有一个较为特殊的实现方式可以求解该问题,具体代码如下:

vchart.on('brushEnd', (params) => {
vchart.getChart()?.getAllComponents().forEach(c => {
if(c.name === 'brush') {
c?._brushComponents?.forEach(c => c._container.incrementalClearChild())
}
})
})

以上解决方案是当触发'brushEnd'事件后,获取所有的组件,并遍历这些组件,如果某个组件名为'brush',就清除该组件。

结果展示

代码运行后,可以实现在onbrushEnd事件结束后清除框选。

在线demo:codesandbox.io/p/sandbox/g…

相关文档