Echarts和Vue3时遇到的问题

将vue2的Echarts代码迁移到了vue3项目上,引发的问题

问题描述:

1. 点击图例legend时刻度轴偏移,图像不展示,以及报错

 初始chart正常.图

点击图例后的chart和报错.图

2. 调用resize()不生效且报错

初始正常.图

修改屏幕尺寸调用resize及报错.图

解决

Vue3使用了proxy,Echarts无法从中获取内部变量;所以在保存echarts实例时,不要使用ref、reactive。

应该使用shallowReactive、shallowRef、不使用响应式

// 正确代码

// shallowRef
const myCharts = shallowRef(null);
myCharts.value = echarts.init(dom);
myCharts.value.resize();

// shallowReactive
const state= shallowReactive({myCharts: null});
state.myCharts = echarts.init(dom);

// 不使用响应式
let myCharts = null;
myCharts= echarts.init(dom);
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值