Vue3使用Echarts导致tooltip失效问题及解决方法

 更新时间:2023年08月31日 11:14:00   作者:MichstaBe Stars  
Vue3 使用 proxy 对象代理,而 echarts 则使用了大量的全等(===), 对比失败从而导致了bug,这篇文章主要介绍了Vue3使用Echarts导致tooltip失效问题及解决方法,需要的朋友可以参考下

版本 vue3.2.47 echarts5.4.1

使用响应式对象存储 echarts 实例,导致 tooltip 功能失效;

原因:Vue3 使用 proxy 对象代理,而 echarts 则使用了大量的全等(===), 对比失败从而导致了bug。

解决方法:将ref或reactive对象换成普通变量来保存 echarts 实例。

初始化图表

// 初始化柱状图
function initBarChart(data) {
	const myChart = echarts.init(unref(barRef));
	const option: EChartsOption = {
	    color: ['#3398DB'],
	    tooltip: {
	        trigger: 'axis',
	        axisPointer: { type: 'shadow' }
	    },
	    grid: {
	        left: '3%',
	        right: '4%',
	        bottom: '3%',
	        containLabel: true
	    },
	    xAxis: [
	        {
	            type: 'category',
	            data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'],
	            axisTick: { alignWithLabel: true }
	        }
	    ],
	    yAxis: [{ type: 'value' }],
	    series: [
	        {
	            name: '直接访问',
	            type: 'bar',           
	            data: [10, 52, 200, 334, 390, 330, 220]
	        }
	    ]
	};	
	myChart.setOption(option);
}

更新图表数据

// 更新柱状图
function updateBarChart(data) {
	const getLineChartInstance = echarts.getInstanceByDom(unref(barRef)!);
	getLineChartInstance && getLineChartInstance.setOption({ series: [{ data }] });
}

到此这篇关于Vue3使用Echarts导致tooltip失效的文章就介绍到这了,更多相关Vue3使用Echarts tooltip失效内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Vue渲染器如何对节点进行挂载和更新

    Vue渲染器如何对节点进行挂载和更新

    这篇文章主要介绍了Vue 的渲染器是如何对节点进行挂载和更新的,文中通过代码示例给大家介绍的非常详细,对大家的学习或工作有一定的帮助,需要的朋友可以参考下
    2024-05-05
  • vue router 动态路由清除方式

    vue router 动态路由清除方式

    这篇文章主要介绍了vue router 动态路由清除方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-05-05
  • VUE+node(express)实现前后端分离

    VUE+node(express)实现前后端分离

    在本篇文章里小编给大家分享的是关于VUE+node(express)前后端分离实例内容,有需要的朋友们参考下。
    2019-10-10
  • 详解Vue如何进行表单联动与级联选择

    详解Vue如何进行表单联动与级联选择

    表单联动和级联选择是Vue.js中常见的功能,在下面的文章中,我们将讨论如何在Vue.js中实现表单联动和级联选择,感兴趣的小伙伴可以了解一下
    2023-06-06
  • element表单el-form的label自适应宽度的实现

    element表单el-form的label自适应宽度的实现

    本文主要介绍了element表单el-form的label自适应宽度的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-08-08
  • Vue2引入和使用Tailwind CSS的完整指南

    Vue2引入和使用Tailwind CSS的完整指南

    Tailwind CSS 是一个功能类优先的 CSS 框架,它提供了大量预定义的实用类来快速构建用户界面,本指南将详细介绍如何在 Vue2 项目中引入和使用 Tailwind CSS,需要的朋友可以参考下
    2025-06-06
  • 如何持久化存储你的Pinia状态

    如何持久化存储你的Pinia状态

    createPersistedState是Pinia插件,用于持久化存储状态数据,通过localStorage/sessionStorage实现页面刷新后数据保留,适用于登录信息、主题设置等场景,需在main.ts注册并配置store开启
    2025-07-07
  • vue.js+ElementUI实现进度条提示密码强度效果

    vue.js+ElementUI实现进度条提示密码强度效果

    这篇文章主要介绍了vue.js+ElementUI实现进度条提示密码强度效果,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-01-01
  • vue3中的事件修饰符详解

    vue3中的事件修饰符详解

    Vue3中的事件修饰符包括:.stop(阻止冒泡)、.prevent(阻止默认事件)、.self(阻止自身事件)、.capture(打乱冒泡顺序)、.once(事件只触发一次)和.passive(事件默认行为立即执行),这些修饰符可以帮助开发者更灵活地控制事件的处理方式
    2025-02-02
  • 关于vue2使用swiper4的踩坑记录

    关于vue2使用swiper4的踩坑记录

    最近写vue的一个练手项目需要在里面实现一个轮播图,想到去用第三方插件,百度了一轮,发现大部分都是swiper这个插件,这篇文章主要给大家介绍了关于vue2使用swiper4踩坑的相关资料,需要的朋友可以参考下
    2022-01-01

最新评论