vue echarts实现绑定事件和解绑事件

 更新时间:2024年06月12日 10:52:46   作者:weixin_46412709  
这篇文章主要介绍了vue echarts实现绑定事件和解绑事件方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

vue echarts绑定事件和解绑事件

// echarts 官网里面 action 和 events 都是触发事件的一些行为,默认事件和自定义事件

var mYcharts = echarts.init(dom)
// 绑定事件
mYcharts.on('click', function (arg) {
	// 里面会有默认形参
	console.log(arg)
})

mYcharts.off('click') // 解绑 click 事件

vue使用echarts中遇到的问题及解决

最近在做demo的过程中用到了echarts,在过程中也踩了好多坑,所以专门记录一下遇到的问题及解决方案。

遇到的问题

  • 安装完echarts依赖后表格示例无法显示
  • 示例图标显示后格式异常
  • 再次进入业务事件后提示dom已加载并展示异常

解决方案

安装完echarts依赖后表格示例无法显示

解决方案:这种问题一般会是两种情况:

  • 一是版本不对应的问题,npm install echarts --save默认的是最新的版本(5.1x),直接安装最新版本的echarts可能会出现上述问题,所以需要降低版本安装echarts。
  • 二是安装echarts后未成功挂载到vue上。

我是第二种情况,解决代码如下

// 安装echarts依赖
npm install echarts --save

// 在main.js文件中添加
import * as echarts from 'echarts'
Vue.prototype.$echarts = echarts 

// 实际业务处理文件中使用echarts
<div ref="xxxx" />

this.$echarts.init(this.$refs.xxxx).setOption({
 ...
})

示例图标显示后格式异常

解决方案: 我当时出现的情况是示例只在很窄的区域展示,所以要给对应的dom-div设置宽高,解决如下

<div ref="xxxx" style="width: 45vh; height: 300px" />

再次进入业务事件后提示dom已加载并展示异常

解决方案: 这个问题确实有点恶心,当我再次调用对应的echarts时,控制台会报dom已加载的警告,并且页面的示例图表会展示异常,解决方法是每次重新调用echarts时都需要先判断是否dom上已经存在,若存在则需要销毁对应的dom结构,这样处理过后就不会再有上述提示警告并且echarts图表能够正常展示,解决代码如下:

// 关键代码
	let myChart = this.$echarts.getInstanceByDom(
      this.$refs.xxxx
    )
    if (myChart == null) {
	  myChart = this.$echarts.init(this.$refs.xxxx).setOption({
        ...
      })
    }

// 举例
    // 账单类型
    noteTypeBarEcharts() {
      const finalArr = this.sortArr(this.tableInfo)
      console.log('分类后的数组', finalArr)
      // 检测是否已经存在echarts实例,如果不存在,则不再去初始化
      let myChart = this.$echarts.getInstanceByDom(
        this.$refs.barSecond
      )
      if (myChart == null) {
        myChart = this.$echarts.init(this.$refs.barSecond).setOption({
          title: {
            text: '账单类型',
            subtext: '(单位/元)',
            left: 'center'
          },
          tooltip: {
            trigger: 'item',
            formatter: '{b}:{c} ({d}%)'
          },
          toolbox: {
            feature: {
              saveAsImage: {}
            }
          },
          legend: {
            orient: 'vertical',
            left: 'left'
          },
          series: [
            {
              type: 'pie',
              radius: '50%',
              data: finalArr
            }
          ]
        })
      }
    }

至此,我们就可以在vue项目中随意使用echarts啦

总结

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

相关文章

  • vue.js封装switch开关组件的操作

    vue.js封装switch开关组件的操作

    这篇文章主要介绍了vue.js封装switch开关组件的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-10-10
  • Vue分页插件的前后端配置与使用

    Vue分页插件的前后端配置与使用

    这篇文章主要为大家详细介绍了Vue分页插件的前后端配置与使用,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-10-10
  • vue3.0项目小白填坑之vue3.0+vite获取环境变量

    vue3.0项目小白填坑之vue3.0+vite获取环境变量

    Vue3项目使用vite作为打包工具时,环境变量可以保存在.env文件中,在build时进行解析,这篇文章主要给大家介绍了关于vue3.0项目小白填坑之vue3.0+vite获取环境变量的相关资料,需要的朋友可以参考下
    2024-03-03
  • vue调试工具vue-devtools安装及使用说明

    vue调试工具vue-devtools安装及使用说明

    该文章主要介绍了如何安装和配置Vue Devtools扩展,首先需要克onole 克隆工具包代码并安装相关依赖,接着需要修改 persistent 字段的值为 true 幄节约安装时间,然后在 Chrome 浏览器中打开扩展程序设置,最后上传并检查安装是否成功,出现相应图标即表示安装完成
    2026-04-04
  • el-upload二次封装带表格校验组件

    el-upload二次封装带表格校验组件

    本文介绍了一个前端Excel文件上传校验组件的实现方案,该组件基于Element UI的el-upload封装,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2026-03-03
  • 一文带你搞懂Vue中Provide/Inject的使用与高级应用

    一文带你搞懂Vue中Provide/Inject的使用与高级应用

    这篇文章将详细介绍如何在 Vue.js 中使用 provide 和 inject 模式,并探讨其在实际应用中的高级用法,感兴趣的小伙伴可以跟随小编一起学习一下
    2024-11-11
  • vue el-table实现行内编辑功能

    vue el-table实现行内编辑功能

    这篇文章主要为大家详细介绍了vue el-table实现行内编辑功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-12-12
  • vue工程全局设置ajax的等待动效的方法

    vue工程全局设置ajax的等待动效的方法

    这篇文章主要介绍了vue工程全局设置ajax的等待动效的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-02-02
  • Vue.js报错Failed to resolve filter问题的解决方法

    Vue.js报错Failed to resolve filter问题的解决方法

    这篇文章主要介绍了Vue.js报错Failed to resolve filter问题的解决方法,需要的朋友可以参考下
    2016-05-05
  • vuepress打包之后页面样式丢失问题的两种解决方式

    vuepress打包之后页面样式丢失问题的两种解决方式

    这篇文章主要介绍了vuepress打包之后页面样式丢失问题的两种解决方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-07-07

最新评论