在 vue-vben-admin(v5 版本)中,使用 ECharts 图表(豆包版)

vue-vben-admin(v5版本)中,使用 ECharts 图表的方式已通过框架封装的 @vben/plugins/echarts 模块简化,结合官方示例,具体使用步骤如下:

1. 核心组件与工具导入

框架提供了封装后的 EchartsUI 组件(图表容器)和 useEcharts 钩子(图表逻辑处理),直接从插件中导入即可:

// 导入组件和钩子
import { EchartsUI, useEcharts } from '@vben/plugins/echarts';
// 导入图表实例类型(可选,用于TypeScript类型提示)
import type { EchartsUIType } from '@vben/plugins/echarts';

2. 基础使用流程

以在页面中渲染一个折线图/柱状图/饼图为例,标准流程如下:

步骤1:创建图表容器引用

通过 ref 创建一个指向 EchartsUI 组件的引用,用于绑定图表实例:

import { ref, onMounted } from 'vue';// 创建图表容器引用
const chartRef = ref<EchartsUIType>();
步骤2:初始化图表逻辑

使用 useEcharts 钩子关联容器引用,获取渲染方法 renderEcharts

// 初始化图表逻辑,传入容器引用
const { renderEcharts } = useEcharts(chartRef);
步骤3:定义图表配置并渲染

onMounted 生命周期中,通过 renderEcharts 方法传入 ECharts 配置项(option),完成图表渲染:

onMounted(() => {// 调用渲染方法,传入ECharts配置renderEcharts({// 图表配置项(与ECharts官方option一致)grid: {left: '1%',right: '1%',bottom: '3%',containLabel: true,},xAxis: {type: 'category',data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'],},yAxis: {type: 'value',},series: [{data: [120, 200, 150, 80, 70, 110, 130],type: 'bar', // 图表类型(折线图用'line',饼图用'pie'等)},],});
});
步骤4:在模板中添加图表容器

使用 EchartsUI 组件作为图表容器,并绑定之前创建的 ref

<template><!-- 图表容器,可通过height/width属性设置尺寸 --><EchartsUI ref="chartRef" height="400px" />
</template>

3. 关键特性说明

  • 自动适配主题:框架会根据全局主题(明亮/暗黑模式)自动切换 ECharts 主题,无需手动处理。
  • 响应式 resizeuseEcharts 内置了窗口大小监听,图表会自动适应容器尺寸变化。
  • 配置项兼容renderEcharts 接收的配置项完全兼容 ECharts 官方 option 格式,支持所有图表类型(折线、柱状、饼图、雷达图等)。
  • 实例获取:通过 getChartInstance 方法可获取原始 ECharts 实例,用于高级操作(如手动触发刷新、绑定事件等):
    const { getChartInstance } = useEcharts(chartRef);
    // 在需要时获取实例
    const instance = getChartInstance();
    instance?.on('click', (params) => {console.log('图表点击事件', params);
    });
    

4. 完整示例代码

<script lang="ts" setup>
import { ref, onMounted } from 'vue';
import { EchartsUI, useEcharts } from '@vben/plugins/echarts';
import type { EchartsUIType } from '@vben/plugins/echarts';// 图表容器引用
const chartRef = ref<EchartsUIType>();
// 初始化图表逻辑
const { renderEcharts } = useEcharts(chartRef);// 页面挂载后渲染图表
onMounted(() => {renderEcharts({title: {text: '示例图表',left: 'center',},tooltip: {trigger: 'axis',},xAxis: {type: 'category',data: ['1月', '2月', '3月', '4月', '5月', '6月'],},yAxis: {type: 'value',},series: [{name: '数据',data: [150, 230, 224, 218, 135, 147],type: 'line', // 折线图smooth: true,},],});
});
</script><template><!-- 图表容器,设置高度 --><EchartsUI ref="chartRef" height="400px" />
</template>

总结

vue-vben-admin 对 ECharts 的封装简化了初始化、主题适配和响应式处理流程,核心步骤为:

  1. 导入 EchartsUIuseEcharts
  2. 创建容器引用并关联图表逻辑;
  3. 定义 ECharts 配置项并通过 renderEcharts 渲染;
  4. 在模板中使用 EchartsUI 作为容器。

使用时直接参考 ECharts 官方文档的配置项即可,无需关心框架底层适配细节。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/bicheng/95814.shtml
繁体地址,请注明出处:http://hk.pswp.cn/bicheng/95814.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

本地 Ai 离线视频去水印字幕!支持字幕、动静态水印去除!

这款功能强大的AI视频处理工具&#xff0c;能够有效地去除视频中的静态水印、动态水印以及字幕。 针对不同类型的水印和字幕&#xff0c;提供了多种去除方式&#xff0c;操作简单&#xff0c;效果显著。 首先【打开视频】&#xff0c;然后在识别模式里面选择识别模式&#xf…

1个工具管好15+网盘(批量转存/分享实测)工具实测:批量转存 + 自动换号 + 资源监控 账号添加失败 / 转存中断?这样解决(含功能详解)

电脑里装了N个网盘客户端&#xff1a;百度网盘存工作文件、阿里云盘放家庭照片、夸克网盘塞学习资料&#xff0c;还有迅雷、天翼云盘散落在各处——每次找文件要在5个软件间反复切换&#xff0c;手动转存10个文件得点几十次鼠标&#xff0c;网盘多了反倒成了“数字负担”。直到…

2025-09-04 CSS2——常见选择器

文章目录1 元素选择器2 id 选择器3 class 选择器4 通用选择器5 子元素选择器6 后代选择器7 相邻兄弟选择器8 后续兄弟选择器9 伪类选择器10 伪元素选择器11 属性选择器11.1 [attribute]11.2 [attribute"value"]11.3 [attribute~"value"]与[attribute*"…

计算机网络:概述层---OSI参考模型

&#x1f310; OSI七层参考模型详解&#xff1a;从物理层到应用层的完整剖析 &#x1f4c5; 更新时间&#xff1a;2025年9月3日 &#x1f3f7;️ 标签&#xff1a;OSI模型 | 网络协议 | 七层模型 | 计算机网络 | 网络架构 | 协议栈 | 王道考研 摘要: 本文将用最通俗易懂的语言&…

JVM相关 2|Java 垃圾回收机制(GC算法、GC收集器如G1、CMS)的必会知识点汇总

目录&#xff1a;&#x1f9e0; 一、GC基础概念1. 什么是垃圾回收&#xff08;Garbage Collection, GC&#xff09;&#xff1f;2. 判断对象是否为垃圾的方法&#x1f9e9; 二、GC核心算法1. 标记-清除算法&#xff08;Mark-Sweep&#xff09;2. 标记-整理算法&#xff08;Mark…

04 - 【HTML】- 常用标签(下篇)

表格标签 1 表格 table 在HTML中&#xff0c;表格是通过<table>标签来创建的&#xff0c;它允许在html中以行和列的形式组织数据。HTML提供了一套完整的标签来创建功能丰富的表格。 2 表格的 结构 3 表格table代码结构 4 表格结构解析 <thead></thead>&…

nVisual从入门到精通—应用实例

五、应用实例 5.1 数据中心的规划设计 5.1.1 规划设计流程5.1.2 创建模型库 5.1.2.1 设备模型库 设备模型库基于组织内实际使用的设备型号进行构建&#xff0c;主要包含以下对象类型&#xff1a;机柜、网络设备、板卡、组合模型。 设备属性字段&#xff1a;除系统保留字段&…

代码可读性的详细入门

&#x1f3e0;个人主页&#xff1a;尘觉主页 文章目录前言一、可读性的重要性二、用名字表达代码含义三、避免名字歧义四、良好的代码风格五、注释的价值六、如何编写注释七、提高控制流的可读性八、拆分长表达式九、变量与可读性十、抽取函数十一、一次只做一件事十二、用自然…

轮轨法向接触斑计算

轮轨法向接触斑计算 &#xff0c;同时输出 接触斑面积、长轴 a、短轴 b、最大 Hertz 压力 pmax 等关键指标 算法基于 Hertz 接触理论&#xff08;适用于单点椭圆接触&#xff09;&#xff0c;并给出如何扩展到 非 Hertz / 有限元验证的提示。1 理论回顾&#xff08;Hertz 椭圆…

实习结束,秋招开启

大家好&#xff0c;依旧是你们的老朋友仰望-星空~~&#xff0c;我又消失了3个月&#xff0c;快四个月了&#x1f604;&#xff0c;不少文章都 落灰了。这段时间其实一直在忙着找实习&#xff0c;然后准备面试题、刷算法、做项目啥的&#xff0c;也是比较忙碌的&#xff0c;也就…

14 C++ STL 容器实战:stack/list 模拟实现指南 + priority_queue 用法及避坑技巧

stack和queuestack的模拟实现和应用--底层就是顺序表从栈的接口中可以看出&#xff0c;栈实际是一种特殊的vector&#xff0c;因此使用vector完全可以模拟实现stack。#include<vector> namespace Stack { template<class T> class stack { public:stack() {}void p…

Linux基础指令(入门必备2.0)

创作初心&#xff1a;在加深个人对知识系统理解的同时希望可以帮助到更多需要的同学 &#x1f604;柯一梦的专栏系列 &#x1f680;柯一梦的Gitee主页 &#x1f6e0;️柯一梦主页详情 座右铭&#xff1a;心向深耕&#xff0c;不问阶序&#xff1b;汗沃其根&#xff0c;花自满枝…

《失落之魂》M站评分仅40?国产动作类游戏究竟何去何从?

前段时间频频预热的国产动作游戏《失落之魂》已正式发售&#xff0c;外媒Push Square发布了该作的阶段性评测。评测指出&#xff0c;尽管《失落之魂》在规模上已接近3A级&#xff0c;但能感受到其独立制作的根基。这款游戏于2016年通过索尼“中国之星计划”获得支持&#xff0c…

一个专为地图制图和数据可视化设计的在线配色网站,可以助你制作漂亮的地图!

ColorBrewer 是一个专为地图制图和数据可视化设计的在线配色工具&#xff0c;由宾夕法尼亚州立大学地理学教授 Cynthia Brewer 及其团队开发 。 它提供了科学、美观且考虑周全的配色方案&#xff0c;旨在帮助用户&#xff08;无论是科研人员、设计师还是GIS分析师&#xff09;…

Python图像处理基础(十六)

Python图像处理基础(十六) 文章目录 Python图像处理基础(十六) 10、图像增强和滤镜 10.1 ImageEnhance 10.1.1 亮度 10.1.2 对比度 10.1.3 颜色 10.1.4 清晰度 10.2 ImageFilter 10.3 预定义滤镜 10.4 参数化滤镜 10.4.1 模糊函数 10.4.2 反锐化蒙版 10.4.3 排序和平均滤波…

python中等难度面试题(1)

1、请解释Python中的深拷贝(deep copy)和浅拷贝(shallow copy)的区别&#xff0c;并举例说明它们在实际应用中可能引发的问题。 答&#xff1a; 在Python中&#xff0c;拷贝对象通常指的是创建一个新的对象&#xff0c;这个新对象是原始对象的一个副本。拷贝可以分为两种类型&a…

AI+Java 守护你的钱袋子!金融领域的智能风控与极速交易

当你在异国他乡用信用卡支付酒店费用&#xff0c;手机瞬间弹出银行短信“是否为本人操作”&#xff1b;当你盯着股票行情软件&#xff0c;看着某只股票的股价在3秒内从涨停跌至平盘&#xff0c;懊悔手动下单慢了一步——这些金融场景中的“安全感”与“遗憾”&#xff0c;背后都…

Docker跨架构部署实操第二弹

1. 项目内容 项目目录包含 Dockerfile 与 main.py&#xff0c;并且容器内路径固定为&#xff1a; 数据&#xff1a;/root/autodl-tmp/data模型&#xff1a;/root/autodl-tmp/models保存&#xff1a;/root/autodl-tmp/save 服务端口&#xff1a;9011&#xff08;容器内与宿主映…

PyTorch 学习率调度器(LR Scheduler)

文章目录 PyTorch 学习率调度器&#xff08;LR Scheduler&#xff09;1. 一句话定义2. 通用使用套路3. 内置调度器对比速览4. 各调度器最小模板① LambdaLR&#xff08;线性 warmup&#xff09;② StepLR③ MultiStepLR④ CosineAnnealingLR⑤ ReduceLROnPlateau&#xff08;必…

新后端漏洞(上)- Spring Cloud Gateway Actuator API SpEL表达式注入命令执行(CVE-2022-22947)

漏洞介绍&#xff1a;Spring Cloud Gateway是Spring中的一个API网关。其3.1.0及3.0.6版本&#xff08;包含&#xff09;以前存在一处SpEL表达式注入漏洞&#xff0c;当攻击者可以访问Actuator API的情况下&#xff0c;将可以利用该漏洞执行任意命令。漏洞环境&#xff1a;docke…