vue-vben-admin 仪表盘 3 步搭建:从第一张 ECharts 图表到动态刷新

发布时间:2026/9/2 10:10:42
vue-vben-admin 仪表盘 3 步搭建:从第一张 ECharts 图表到动态刷新 vue-vben-admin 仪表盘 3 步搭建从第一张 ECharts 图表到动态刷新【免费下载链接】vue-vben-adminA modern vue admin panel built with Vue3, Shadcn UI, Vite, TypeScript, and Monorepo. Its fast!项目地址: https://gitcode.com/GitHub_Trending/vu/vue-vben-admin早上 9 点业务方要一份经营数据汇报用户量、访问量、下载量、销售占比最好现场能点着看。你不想再导出 Excel、对着表格逐个念数字。vue-vben-admingit clone https://link.gitcode.com/i/e61ab2102fc12c56539773f85d050910内置了一个分析页基于 ECharts 数据可视化能力搭成你只需要改数据和配置就能拿到一张能演示的经营仪表盘。搭完是什么效果打开apps/web-antd的分析页顶部四张指标卡用户量 / 访问量 / 下载量 / 使用量中间是一个可切换选项卡的主图区流量趋势、月访问量两个标签页底部三张小卡片并排——访问数量、访问来源、商业占比。选项卡一点视图就切鼠标悬停出数值提示窗口拉大拉小图表跟着重绘。第一步找到动手的位置改之前先知道东西在哪仪表盘主页面apps/web-antd/src/views/dashboard/analytics/index.vue负责布局——指标卡、选项卡容器、底部三张小卡片都在这一个文件里组装各图表组件同在apps/web-antd/src/views/dashboard/analytics/目录下analytics-trends.vue、analytics-visits.vue、analytics-visits-sales.vue各管一张图ECharts 插件目录packages/effects/plugins/src/echarts/初始化、深浅色主题切换、窗口 resize 重绘全收在use-echarts.ts里。也就是说改图只碰数据和配置不用碰图表的生命周期。第二步第一个 ECharts 饼图怎么画以商业占比玫瑰图为例核心代码不长script langts setup import { onMounted, ref } from vue import { EchartsUI, useEcharts } from vben/plugins/echarts import type { EchartsUIType } from vben/plugins/echarts const chartRef refEchartsUIType() const { renderEcharts } useEcharts(chartRef) onMounted(() { renderEcharts({ tooltip: { trigger: item }, series: [{ type: pie, radius: 80%, roseType: radius, name: 商业占比, color: [#5ab1ef, #b6a2de, #67e0e3, #2ec7c9], data: [ { name: 外包, value: 500 }, { name: 定制, value: 310 }, { name: 技术支持, value: 274 }, { name: 远程, value: 400 }, ].toSorted((a, b) a.value - b.value), }], }) }) /script template EchartsUI refchartRef / /templateroseType: radius把饼图变成环形玫瑰图数据先按值从小到大排序从内到外递进占比一眼分得清主次color数组控制每个扇区配色换成企业色卡就是定制主题。useEcharts是组合式 APIVue 里管状态的函数类似ref但更专一它替你干了四件脏活初始化 ECharts 实例、跟随深浅色主题、窗口缩放自动重绘、组件销毁时释放实例——你只管喂数据。其余图表同一套路趋势分析是折线图月访问量是柱状图访问来源是环形图文件都躺在上面那个目录里照着改数据即可。第三步图表数据定时刷新与选项卡切换怎么写先说清楚数据怎么进来、视图怎么切顶部四张指标卡的数字由主页面里的overviewItems数组驱动换成接口返回值即可主图区用AnalysisChartsTabs选项卡切流量趋势 / 月访问量chartTabs定义标签每个 tab 对应一个插槽里面放各自图表组件接口数据回来后调renderEcharts或updateData就能更新图表。刷新逻辑用伪代码说就是const refresh () { const data await fetch(/api/analytics) // 你的接口 updateData({ series: [{ data: data.list }] }) } refresh() setInterval(refresh, 60_000) // 每分钟一次updateData是增量更新默认合并旧配置并保留动画lazyUpdate: true还能把短时间内的多次调用合并成一次重绘适合轮询这种高频场景。视图切换不用你操心选项卡一换各图表组件自己管生命周期。三个容易踩的坑首屏被图表库拖慢。ECharts 体积不小vue-vben-admin 数据可视化的页面走的是路由懒加载路由里写成() import(...)echarts 相关的 chunk 只在进仪表盘页面时才下载。别把图表库挪到main.ts全局 import首屏白加载一大坨。同一个图反复全量重绘。数据更新时别循环调用renderEcharts它是清空 重画动画会一抖一抖用updateData做增量更新配合lazyUpdate攒一批再重画省掉重复计算。自己再挂一遍 resize 监听。窗口缩放自适应200ms 防抖的resizeuse-echarts.ts里已经写了你再window.addEventListener(resize, ...)等于一个事件触发两次重绘白白多干一倍的活。收尾跑起来之后建议直接翻 playground 里的现成示例再对照 docs/src/guide 的指南按自己的业务把数据和配色换掉就行。【免费下载链接】vue-vben-adminA modern vue admin panel built with Vue3, Shadcn UI, Vite, TypeScript, and Monorepo. Its fast!项目地址: https://gitcode.com/GitHub_Trending/vu/vue-vben-admin创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考