遇到一个问题,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 为对象转为代理模式之后再转回原来的值
在Vue3项目中,使用echarts时遇到tooltip在axis模式下无法显示滑动效果的问题。原因是Vue3的数据响应式系统使用了proxy。解决方案是使用markRaw函数,避免echarts实例化时处理的是监听对象。经过markRaw处理后,echarts能正确初始化并显示axis的tooltip滑动效果。
2299

被折叠的 条评论
为什么被折叠?



