ECharts在Vue项目中的配置与实践
小维AI总结
HunYuan-Turbos-Latest
思考中···
前言
本章节将记录 echarts 在项目中的常见配置,以便提高开发速度。
echarts 4.x(以下简称 v4)升级到 echarts 5.x(以下简称 v5),v5 仍然带来了一些非兼容改动,需要特别关注,v5 不再支持 IE8 浏览器,过渡动画的增强。
创建一个 Vue 应用
在 HTML 中定义一个 <div> 节点,并且通过 CSS 使得该节点具有宽度和高度。初始化图表的时候,传入该节点,图表的大小默认即为该节点的大小。
环境:Node16 和 Node18 (nvm 来管理)
开发工具: VSCode
代码: 直接从本人的 Github 上拉取
Vue3 模板
1 | git clone -b test https://github.com/luckyNwa6/luckyVue3Template.git |
Vue2 模板
1 | git clone -b test https://github.com/luckyNwa6/luckyVue2Template.git |
安装
vue2模板
1 | yarn 安装全部依赖 |
vue3模板
1 | pnpm i |
可选版本
1 | npm install echarts --save |
引用 ECharts
如果使用者在 v4 中这样引用了 echarts:
1 | import echarts from 'echarts' |
这两种方式,v5 中不再支持了。
使用者需要如下更改代码解决这个问题
1 | import * as echarts from 'echarts' |
简单图表案例
本章节将实现一个简单的图表案例,并解析其中的具体配置
Demo
选项式
1 | <template> |
组合式
1 | const chart = ref(null) |
组件封装
封装可以考虑多种的情况,是否是全局都有、还是一个模块下面有,可以封装一个vue组件、传入配置项来显示需要的图表,或者抽离配置项单独去定制。
简单封装
场景是某个模块下需要 液位/流量、水质等配置图表,参数如下:
- 悬浮框 --> 定制里面的属性展示(如果不抽离需要传更多的值)
- 图表缩放 --> 可以不用,直接在这写死,默认图表都是需要这个的
- 水平数据 --> X轴的label展示
- 纵轴数据 --> X轴值对应的Y轴数据
- 图表实例
- 另个垂直数据
1 | // 液位/流量的配置项-------------------------------------------------------------------------------- |
调用
1 | var that = this |
组件抽离
图表组件
1 | <template> |
配置项抽离,应该要类似简单封装那配置项用方法导出,更智能
1 | export const option7 = { |
调用
1 | <EChartsChart :option="option7" style="width: 100%; height: 300px" /> |
图表自适应
很多时候我们后台管理系统可以收缩,然后就导致了图表变形的情况,这个时候我们就需要给图表加入自适应功能。
Vue2自适应
引入第三方库
1 | npm i resize-detector@0.3.0 |
新增mixins-resize.js
1 | import { addListener, removeListener } from 'resize-detector' |
在图表vue中使用
1 | import ResizeMixins from '@/views/common/mixins-resize.js' |
详细可以查看Vue模板中的具体实现结果。
Vue3自适应
组合式写法
1 | import * as echarts from 'echarts' |
评论

