Bootstrap

Echarts柱状图绑定click方法点击出现重复

项目场景:

点击柱子需要保存x轴上的日期


问题描述

柱状图重新绘制过多少次点击柱子就会执行几次。(比如第一次查询为当天的数据,点击柱子,输出一次;第二次查询最近七天的数据,点击柱子,输出两次。)

// instance.current = echarts.getInstanceByDom(chartDom.current) || echarts.init(chartDom.current, null); // 获取实例对象
instance.current.on('click', { seriesName: '事件次数' }, (params) => {
	console.log(params.name);
});

原因分析:

不同的查询条件是让图重新绘制了,但是原先绑定的方法并没有清除,导致每次重新绘制之前绑定的点击事件依旧存在,所以就出现了重复的现象。


解决方案:

在绑定点击事件前先关掉点击事件:

instance.current.off('click');
instance.current.on('click', { seriesName: '事件次数' }, (params) => {
	console.log(params.name);
});
;