将vue2的Echarts代码迁移到了vue3项目上,引发的问题
问题描述:
1. 点击图例legend时刻度轴偏移,图像不展示,以及报错
初始chart正常.图
点击图例后的chart和报错.图
2. 调用resize()不生效且报错
初始正常.图
修改屏幕尺寸调用resize及报错.图
解决
Vue3使用了proxy,Echarts无法从中获取内部变量;所以在保存echarts实例时,不要使用ref、reactive。文章来源:https://www.toymoban.com/news/detail-687528.html
应该使用shallowReactive、shallowRef、不使用响应式文章来源地址https://www.toymoban.com/news/detail-687528.html
// 正确代码
// 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);
到了这里,关于Echarts遇到Vue3时遇到的问题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!