[echarts]柱状图的点击事件
作者:小教学发布时间:2023-10-04分类:程序开发学习浏览:92
导读:先来一段简洁的写echarts图表的代码://这样获取echarts的dom节点是因为:如果将柱状图封装成了一个组件,在一个页面中多次使用,若还是按常规获取dom节点,会报...
先来一段简洁的写echarts图表的代码:
// 这样获取echarts的dom节点是因为:如果将柱状图封装成了一个组件,在一个页面中多次使用,若还是按常规获取dom节点,会报一个警告
let charts = echarts.getInstanceByDom(
document.getElementById(props.id)
)
if (charts == null) {
charts = echarts.init(document.getElementById(props.id))
}
charts.clear()
let option = {
...
}
charts.resize()
charts.setOption(option)
如图所示,如果柱状图需要有点击事件: 但这只是点击蓝色柱条部分才会触发点击事件的写法
myChart.on('click', function (params) {
console.log(params)
})
如果柱条没有数据,用上述方法点击时将不会触发,如果无数据点击背景也依旧想触发点击事件,就用下面方法:
charts.getZr().off('click') // 先取消点击,再触发,免得造成连续抖动触发
charts.getZr().on('click', function (params) {
// 这个部分照抄,你想通过点击拿到的当前柱条的数据,都可以在下面这些属性中拿到,如果我注释没有你想要的,需要console一下charts.getOption()查找对应的属性名
let pointInPixel = [params.offsetX, params.offsetY];
if (charts.containPixel('grid', pointInPixel)) {
let pointInGrid = charts.convertFromPixel({
seriesIndex: 0
}, pointInPixel);
let xIndex = pointInGrid[1]; // 索引
let handleIndex = Number(xIndex);
let seriesObj = charts.getOption(); // 图表object对象
let op = charts.getOption();
//获得图表中点击的列
let dataY = op.yAxis[0].data[handleIndex]; //获取点击的列名
let dataX = seriesObj.series[0].data[handleIndex] // 获取当前点击的柱条的数值
... // 写获取到当前点击需要的数值后的操作
}
})
另外,再补充一下划过和划出事件的写法,属性是一样的,就是事件名比较独特: mousemove mouseout
,这两对应,必须这样写,写其他的可能无效
// 划过
charts.getZr().off('mousemove');
charts.getZr().on('mousemove', function(params) {
})
// 划出
charts.getZr().off('mouseout');
charts.getZr().on('mouseout', function(params) {
})
- 上一篇:leetCode 455.分发饼干 贪心算法
- 下一篇:TouchGFX之字体缓存
- 程序开发学习排行
-
- 1鸿蒙HarmonyOS:Web组件网页白屏检测
- 2HTTPS协议是安全传输,为啥还要再加密?
- 3HarmonyOS鸿蒙应用开发——数据持久化Preferences
- 4记解决MaterialButton背景颜色与设置值不同
- 5鸿蒙HarmonyOS实战-ArkUI组件(RelativeContainer)
- 6鸿蒙HarmonyOS实战-ArkUI组件(Stack)
- 7[Android][NDK][Cmake]一文搞懂Android项目中的Cmake
- 8鸿蒙HarmonyOS实战-ArkUI组件(mediaquery)
- 9Android广播如何解决Sending non-protected broadcast问题
- 最近发表
-
- WooCommerce最好的WordPress常用插件下载博客插件模块的相关产品
- 羊驼机器人最好的WordPress常用插件下载博客插件模块
- IP信息记录器最好的WordPress常用插件下载博客插件模块
- Linkly for WooCommerce最好的WordPress常用插件下载博客插件模块
- 元素聚合器Forms最好的WordPress常用插件下载博客插件模块
- Promaker Chat 最好的WordPress通用插件下载 博客插件模块
- 自动更新发布日期最好的WordPress常用插件下载博客插件模块
- WordPress官方最好的获取回复WordPress常用插件下载博客插件模块
- Img to rss最好的wordpress常用插件下载博客插件模块
- WPMozo为Elementor最好的WordPress常用插件下载博客插件模块添加精简版