Vue3中echarts无法缩放的问题及解决方案

 更新时间:2022年11月24日 15:53:04   作者:coder-daily  
很多朋友在使用vue3+echarts5技术时会遇到echarts无法绽放的问题,今天小编就给大家分享下问题描述及解决方案,感兴趣的朋友跟随小编一起看看吧

前言

实际工作中,使用到vue和echarts技术。项目原来用的vue2+echarts4,后来更新到了vue3+echarts5,结果遇到echarts无法绽放的问题。

问题描述

官网示例正常

1、打开echarts官网示例:https://echarts.apache.org/examples/zh/editor.html?c=area-rainfall
这个示例的缩放功能是正常的。如下图:

官网示例在本地缩放异常

把上面这个demo的option复制到本地环境,运行效果:初始渲染正常,拖动缩放把手就报js错误。如下图:

点击进入错误堆栈,发现报seriesModel的coordinateSystem这个属性为undefined

开始以为是echarts版本与官网的版本不一致引起,结果更新本机的echarts跟官网的echarts版本一致。下载官网的echarts跟本机的echarts进行文件比对,发现一模一样。

灵光乍现

一番面向百度编程,最后找到一篇文章https://www.jb51.net/article/259863.htm
重点就是两句话,如下图:

问题解决

找到解题思路之后修改代码,由于我的代码是vue2升级到vue3。vue2的版本中myChart对象是放在data里面的,升级到vue3只是简单的代码改写,myChart仍然放在data里面。代码如下:

const data = ref({
dataDriver: null,
chartConfig: null,
myChart: null
});

vue3中ref绑定的对象都是响应式的对象,对象中的属性值变动都经过vue3的proxy拦截处理。
因此如果是跟页面内容进行响应式绑定的值应该放在data里面,而我的图表用的是原生的echarts api自己绘制的,因此不需要做响应式绑定,如果绘制图表的数据发生变化,我自己会手工调用echarts进行重绘。因此我只需要把myChart从data中删除放到外面即可。如下图:

到此这篇关于Vue3中echarts无法缩放的问题及解决方案的文章就介绍到这了,更多相关Vue中echarts无法缩放内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Vue实现百度下拉提示搜索功能

    Vue实现百度下拉提示搜索功能

    这篇文章主要为大家详细介绍了Vue实现百度下拉提示搜索功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-06-06
  • ElementUI如何修改Dialog的标题样式

    ElementUI如何修改Dialog的标题样式

    这篇文章主要介绍了ElementUI如何修改Dialog的标题样式问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-10-10
  • vue.js中proxyTable 转发请求的实现方法

    vue.js中proxyTable 转发请求的实现方法

    今天小编就为大家分享一篇vue.js中proxyTable 转发请求的实现方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-09-09
  • 在vue3.0中封装button使用slot组件

    在vue3.0中封装button使用slot组件

    这篇文章主要介绍了在vue3.0中封装button使用slot组件,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-05-05
  • vue使用axios实现动态追加数据

    vue使用axios实现动态追加数据

    在vuejs中使用axios时,有时候需要追加数据,比如,移动端下拉触底加载,分页加载,滑动滚动条等,下面小编就来为大家介绍一下如何使用使用axios实现动态追加数据吧
    2023-10-10
  • vue 计时器组件的实现代码

    vue 计时器组件的实现代码

    本篇文章主要介绍了vue 计时器组件的实现代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-09-09
  • vue element input如何让浏览器不保存密码

    vue element input如何让浏览器不保存密码

    这篇文章主要介绍了vue element input如何让浏览器不保存密码问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-03-03
  • 基于Vue uniapp实现贪吃蛇游戏

    基于Vue uniapp实现贪吃蛇游戏

    贪吃蛇游戏想必是很多70、80后的回忆,一直到现在也深受大家的喜欢。本文将利用Vue+uniapp实现这一经典的游戏,感兴趣的可以了解一下
    2022-04-04
  • Vue.js 2.0 移动端拍照压缩图片预览及上传实例

    Vue.js 2.0 移动端拍照压缩图片预览及上传实例

    这篇文章主要介绍了Vue.js 2.0 移动端拍照压缩图片预览及上传实例,本来移动端开发H5应用,准备将mui框架和Vue.js+vue-router+vuex 全家桶结合起来使用
    2017-04-04
  • vue 实现上传组件

    vue 实现上传组件

    虽然前端UI框架大都提供文件上传的组件,以及很多插件可供选择,工作中可能不需要我们手写一个上传组件,但是从零封装组件对学习是很有助益的。下文为大家介绍使用Vue3+TypeScript实现的一个文件上传的功能,目前只实现上传等基本功能,后续会逐渐对功能进行扩展
    2021-05-05

最新评论