vue3中使用echarts:tooltip的trigger为axis tooltip不显示问题

在Vue3项目中,使用echarts时遇到tooltip在axis模式下无法显示滑动效果的问题。原因是Vue3的数据响应式系统使用了proxy。解决方案是使用markRaw函数,避免echarts实例化时处理的是监听对象。经过markRaw处理后,echarts能正确初始化并显示axis的tooltip滑动效果。

遇到一个问题,vue3中使用echarts
tooltip使用item没有问题,在使用axis时一直出不来滑动效果

  tooltip: {
    trigger: 'item',
  },

将设置好的option在官网的代码运行器中没有问题

最后解决办法: 用 markRaw 让echarts从监听对象变成普通对象!!

import { ref, reactive, watch, onMounted, markRaw } from 'vue';
...
const chartBox = document.getElementById('chart-box');
myChart = markRaw(echarts.init(chartBox));

因为vue3中的数据对象是用的proxy监听的,要取值需要用value等方法取出来。

markRaw() 详情参考这里:markRaw详情

个人理解:markRaw 和 toRaw 区别
markRaw 为设置禁止将对象转为代理模式
toRaw 为对象转为代理模式之后再转回原来的值

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值