echarts綁定/解綁點擊事件與formatter配合使用達到效果:getZr().on()可以捕捉整個echarts的canvas的點擊事件,formatter只有在點擊到頁面數據的時候有效,所以只有formatter可以拿到點擊的具體值;formatter是回調事件,比getZr().on()綁定的點擊事件先執行,但每次點擊formatter執行兩次。由此可以通過在getZr().on()方法中判斷formatter是否執行過來決定后續操作,比如執行過就獲取並展示數據,沒有就關閉彈窗等操作。
tooltip: {
formatter: function (params) {
isShowData = true;
_this.showWaterData(params, optionParams);
return '';
}
},
waterChart.getZr().off('click');
waterChart.getZr().on('click', (parmas) => {
if(!isShowData){
_this.closeData();
} else {
isShowData = false;
}
})
