首页 前端知识 echarts 多柱状图点击事件分别监听效果实现

echarts 多柱状图点击事件分别监听效果实现

2024-08-04 00:08:06 前端知识 前端哥 99 264 我要收藏

有同事问我echarts的柱状图监听事件,在多柱状图监听时,没办法区分,直走一个监听,好久没用echarts了,我大概翻了翻API,发现这种场景下,是有完美的解决方案的。

可能是多个指标的展示,也可能是堆叠著状态

echart的官网文档地址👇

Documentation - Apache ECharts

 

可以看到,echarts的实例绑定的on有两种,三个参数或者四个参数的区别,(如上图小红框,有无query这个参数的区别) 

看一下解释,query作为过滤条件,能够只在指定的组件或者元素上进行响应。可为 string 或者 Object

这样的话,就可以根据同一个echarts实例中的不同柱状图进行分别的事件监听了。

划重点

其实就是配置下query这么简单,如下图所示,我们直接在绑定点击事件的同时,把区别两个柱状图的seriesName参数传入即可

myChart.on('click', { seriesName: '2011' }, params => {
console.log(params)
alert('2011')
})
myChart.on('click', { seriesName: '2012' }, params => {
console.log(params)
alert('2012')
})
复制

以官网的柱状图示例为基础,贴一下完整的代码吧

const myChart = echarts.init(this.$refs.demo)
const option = {
title: {
text: 'World Population'
},
tooltip: {
trigger: 'axis',
axisPointer: {
type: 'shadow'
}
},
legend: {},
grid: {
left: '3%',
right: '4%',
bottom: '3%',
containLabel: true
},
xAxis: {
type: 'value',
boundaryGap: [0, 0.01]
},
yAxis: {
type: 'category',
data: ['Brazil', 'Indonesia', 'USA', 'India', 'China', 'World']
},
series: [
{
name: '2011',
type: 'bar',
stack: 'Ad',
data: [18203, 23489, 29034, 104970, 131744, 630230]
},
{
name: '2012',
type: 'bar',
stack: 'Ad',
data: [19325, 23438, 31000, 121594, 134141, 681807]
}
]
}
myChart.setOption(option)
myChart.on('click', { seriesName: '2011' }, params => {
console.log(params)
alert('2011')
})
myChart.on('click', { seriesName: '2012' }, params => {
console.log(params)
alert('2012')
})
复制

效果图

 

转载请注明出处或者链接地址:https://www.qianduange.cn//article/14713.html
标签
评论
还可以输入200
共0条数据,当前/页
发布的文章

JQuery中的load()、$

2024-05-10 08:05:15

大家推荐的文章
会员中心 联系我 留言建议 回顶部
复制成功!