vue项目如何实现Echarts在label中获取点击事件

 更新时间:2022年10月21日 09:10:25   作者:骑上我心爱的小摩托  
这篇文章主要介绍了vue项目如何实现Echarts在label中获取点击事件,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

vue Echarts在label中获取点击事件

需要针对Echarts图像对label添加点击事件,一开始设置如下代码:

<template>
 <div id="bar-echart" ref="barEchartDom" />
</template>

<script>
import * as echarts from 'echarts';
if (this.barDom) {
this.barDom.dispose();
 }
 this.barDom = echarts.init(this.$refs.barEchartDom);
 this.barDom.on('click','yAxis.category', function (param) {
   console.log(param);
 });
</script>

这里yAxis.category也可以去除,此时可以针对param全部的参数进行区分自己想要的点击数据

此时针对label进行点击后,还是无法获取点击事件,经检查,是未对yAxis添加label的event事件

yAxis: {
  type: 'category',
     data: [],
     triggerEvent: true
   },

应对需要点击label设置的属性添加triggerEvent,此时label可进行点击

在click点击事件内,可以打印出当前点击信息

vue echarts图表点击事件

echarts 官方API提供了点击事件chart.on(‘click’)只获取到点击图形的数据;

但是发现数据过小导致图形难以点击到的时候凉凉了,解决的时候发现tooltips中的数据与需要获取到的数据相同,具体代码如下:

<div id="lineBar_chart" @mousedown="handleMousedown"></div>

export default {
     methods:  {
         handleMousedown(params) {
              //通过获取鼠标点击事件,获取到值
              this.$emit("xData", this.xData);
           },
      }
}

柱状图 

<chart-box
  ref="lineBar_chart"
  :id="'lineBar_chart'"
  :setOption="barOptions "
   v-on:xData="handleTooltipClick"
 ></chart-box>

export default = {
  mounted() {
    //需要注意的是,对返回数据进行处理
    let data = [] //假设为返回数据
    let series = []
    for(let i of data) { 
        //echart对数据解析时,只会显示value值,但我们可以带上需要的值
        series.push({ value: i.num,id: i.id... })
    }    

    this.barOptions = {
       tooltips: {
         //tooltips提供的formatter方法,可以自定义数据
          formatter: function(params) { 
            val.params = params[0].data
            //此处要注意this指向问题
            that.$set('that.$refs.lineBar_chart', 'xData',val)
         }
       }
    };
  },
  methods: {
     handleTooltipClick(val) {
         //根据获取到的数据进行处理啦
        console.log(`图形的数据`,val)
    }
  }
}

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Vue编程三部曲之将template编译成AST示例详解

    Vue编程三部曲之将template编译成AST示例详解

    这篇文章主要为大家介绍了Vue编程三部曲之将template编译成AST示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-07-07
  • VUE生命周期全面系统详解

    VUE生命周期全面系统详解

    Vue的生命周期就是vue实例从创建到销毁的全过程,也就是new Vue() 开始就是vue生命周期的开始。Vue 实例有⼀个完整的⽣命周期,也就是从开始创建、初始化数据、编译模版、挂载Dom -> 渲染、更新 -> 渲染、卸载 等⼀系列过程,称这是Vue的⽣命周期
    2022-07-07
  • vue全局引入scss(mixin)

    vue全局引入scss(mixin)

    本文主要介绍了 vue全局引入scss,我们在写VUE的时候,会使用scss,也会做一些通用样式,方便使用,在写好的通用样式的时候,每次都要单文件导入,刚开始写的时候,感觉还好,后面工程量大了后,就显得麻烦,那么本文就全局导入scss样式,下面来看详细内容,需要的朋友可以参考一下
    2021-11-11
  • Vue服务端渲染和Vue浏览器端渲染的性能对比(实例PK )

    Vue服务端渲染和Vue浏览器端渲染的性能对比(实例PK )

    这篇文章主要介绍了Vue服务端渲染和Vue浏览器端渲染的性能对比(实例PK ),非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2017-03-03
  • Vue滚动到指定位置的多种方式示例详解

    Vue滚动到指定位置的多种方式示例详解

    当容器有滚动条时,有时需要将指定的内容自动滚动到可视区域,怎么实现呢,下面小编给大家带来了多种方法实现Vue滚动到指定位置,感兴趣的朋友跟随小编一起看看吧
    2023-08-08
  • 使用vue完成微信公众号网页小记(推荐)

    使用vue完成微信公众号网页小记(推荐)

    公司最近有一个H5页面的功能,比较简单的一个调查表功能,嵌套在我们微信公众号里面。这篇文章主要介绍了使用vue完成微信公众号网页小记,需要的朋友可以参考下
    2019-04-04
  • Vue状态模式实现窗口停靠功能(灵动、自由, 管理后台Admin界面)

    Vue状态模式实现窗口停靠功能(灵动、自由, 管理后台Admin界面)

    这篇文章主要介绍了Vue状态模式实现窗口停靠功能(灵动、自由, 管理后台Admin界面),本文通过实例代码文字说明给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-03-03
  • Vue项目中input框focus时不调出键盘问题的解决

    Vue项目中input框focus时不调出键盘问题的解决

    这篇文章主要介绍了Vue项目中input框focus时不调出键盘问题的解决,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-04-04
  • Vue数组更新及过滤排序功能

    Vue数组更新及过滤排序功能

    Vue为了增加列表渲染的功能,增加了一组观察数组的方法,而且可以显示一个数组的过滤或排序的副本。本文将详细介绍Vue数组更新及过滤排序
    2017-08-08
  • vue实际运用之vuex持久化详解

    vue实际运用之vuex持久化详解

    这篇文章主要为大家介绍了vue运用之vuex持久化,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2021-12-12

最新评论