因为echarts官方的监听click和dblclick事件冲突,一般只会监听到单击,所以没办法同时实现两种点击效果,最后使用setTimeout解决
以下为vue代码使用
首先在data中创建一个变量clickTimes,用于计数,也就是
data() {
return {
clickTimes:0
};
},
之后在echarts监听函数处,使用
mychart.getZr().on('click', (params) => { // 监听点击echarts
this.clickTimes++;
if (this.clickTimes === 2) { //当点击次数为2
this.clickTimes = 0; //记得清零
// 在这里写双击执行的事件
}
setTimeout(() => {
if (this.clickTimes === 1) {
this.clickTimes = 0; // 单击清零
// 在这里写单击执行事件
}
}, 300)
});