vue-admin-templateEcharts图表的应用

boyanx3个月前技术教程17



1.安装echarts包

npm i echarts

2.放置图表的div,并给定高宽,代码位置(**
src/views/dashboard/index.vue**)

<div class="chart">
<!-- 图表 -->
<div ref="social" style=" width: 100%; height:100% " />
</div>
<div class="chart">
<!-- 图表 -->
<div ref="provident" style=" width: 100%; height:100% " />
</div>

3.在mounted中才能初始化图表

mounted() {
    // 获取展示的数据 设置给图表
    // 监听homeData的变化
    this.social = echarts.init(this.$refs.social) // 初始化echart
    // data中没有声明 不是响应式
    this.provident = echarts.init(this.$refs.provident)
},

4.引入echarts

// import * as echarts from 'echarts' // 引入所有的echarts
import * as echarts from 'echarts/core' // 引入核心包
import { LineChart } from 'echarts/charts' // 引入折线图
import { GridComponent } from 'echarts/components' // 引入组件
import { CanvasRenderer } from 'echarts/renderers'

5.使用watch监听homedata

> 这里为什么要用watch,因为获取数据在created,初始化图表在mounted,
执行mouted时,数据并不能保证能够获取到,所以采用获取watch监听数据变化,
只要数据变化,就设置图表的options


> 为什么 this.social和this.provident 并没有在data中声明,注意,
在data中声明的表示它是响应式数据,即它的变化要引起template模板的刷新,
但是这里我们只是记录一下当前图表的实例,实例本身会有setOption来影响图表的动态渲染,
所以这里并没有必要在data中声明这两个变量
watch: {
        homeData() {
        console.log(this.homeData)
        // 设置图表
        this.social.setOption({
        xAxis: {
        type: 'category',
        boundaryGap: false,
        data: this.homeData.socialInsurance?.xAxis
        },
        yAxis: {
        type: 'value'
        },
        series: [
        {
        data: this.homeData.socialInsurance?.yAxis,
        type: 'line',
        areaStyle: {
        color: '#04c9be' // 填充颜色
        },
        lineStyle: {
        color: '#04c9be' // 线的颜色
        }
        }
        ]
        })
        this.provident.setOption({
        xAxis: {
        type: 'category',
        boundaryGap: false,
        data: this.homeData.providentFund?.xAxis
        },
        yAxis: {
        type: 'value'
        },
        series: [
        {
        data: this.homeData.providentFund?.yAxis,
        type: 'line',
        areaStyle: {
        color: '#04c9be' // 填充颜色
        },
        lineStyle: {
        color: '#04c9be' // 线的颜色
        }
        }
        ]
        })
        }
        },

6.图表的按需引入


import * as echarts from 'echarts/core' // 引入核心包
import { LineChart } from 'echarts/charts' // 引入折线图
import { GridComponent } from 'echarts/components' // 引入组件
import { CanvasRenderer } from 'echarts/renderers'
echarts.use([
    LineChart,
    GridComponent,
    CanvasRenderer
])
标签: vueadmin

相关文章

分享15个基于Vue3.0全家桶的优秀开源项目

大家好,我是 Echa。今天来分享 15 个基于 Vue3.0 全家桶的优秀开源项目!1. Vue Admin Bettergithub : https://github.com/chuzhixin/...

9.7k star 开源免费且开箱即用的中后台管理模版vue-pure-admin

vue-pure-admin 是一款开源免费且开箱即用的中后台管理系统模版。使用了最新的 Vue3、Vite、Element-Plus、TypeScript、Pinia、Tailwindcss 等主流...

1.8K Star!Cool-Admin-Vue:AI编码+流程编排,重新定义后台开发

「小墨是前端」专注分享前端技术,推荐优秀的开源项目,展示Github、Gitee上的创意作品,带你深入前端底层,一起成长。大家好!我是小墨,本期给大家推荐一个超酷的后台权限管理系统—— Cool-Ad...

vue-admin-template处理token失效

token失效后应该删除token使其跳转至登录页面,而不是报401错误。1.在request.js的拦截器的位置添加401的判断,在此进行token的删除和跳转跳转要导入路由import { rou...

后台管理系统这么受欢迎吗?又 Go 一个开源项目

大家好,我是欧盆索思(opensource),每天为你带来优秀的开源项目!之前推荐过两款后台管理系统,都是 Go 语言实现的。十分钟内构建数据可视化和管理后台:还同时支持众多框架基于 Go 语言 Gi...

Vue Shop Admin:强大而易用的后台管理系统模板

Vue Shop Admin 是一个基于 Vue.js 框架的后台管理系统模板。它具有简洁、易用和美观的特点,非常适合开发人员用于快速构建各种类型的管理系统。这个模板使用了最新的技术,如 Vue3、V...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。