Vue3中使用echarts的簡單七個步驟(易懂,附緊急避坑)
前言
提示:vue3中使用echars的七步驟如下:其中第5-7的步驟都寫在Dom渲染完成的生命周期中:可以是 onMounted() 也可以是 Mounted()
最終效果展示:

一、Echars官網(wǎng)地址
下面的三個地址可以方便我們進(jìn)行官網(wǎng)的直接跳轉(zhuǎn)(省時(shí)省力)主要是為了方便xdm
二、Echars的創(chuàng)建步驟(Vue3中使用Vue2的寫法)
這里是直接封裝的組件進(jìn)行使用的
只需傳入數(shù)據(jù)就可以一勞永逸大大滴方便
第一步:安裝echars
在終端中執(zhí)行:npm install echarts --save
npm install echarts --save
如下圖所示:

第二步:導(dǎo)入echarts
在文件中導(dǎo)入echarts
import * as echarts from “echarts”;
import * as echarts from "echarts";
第三步:創(chuàng)建Dom結(jié)構(gòu)
創(chuàng)建Dom結(jié)構(gòu)(并且設(shè)定div的大?。┯脕碚故緀chars圖表
<template> <div ref="EcharRef" style="width: 300px; height: 300px"></div> </template>
如下圖所示:

第四步:ref獲取創(chuàng)建的Dom結(jié)構(gòu)
通過ref獲取到創(chuàng)建的Dom結(jié)構(gòu) (?。。。?!Dom加載完成的生命周期?。。。?!)
const main = this.$refs.EcharRef;
如下圖所示

第五步:初始化圖表
init()初始化圖表(到這里基礎(chǔ)的引入工作已經(jīng)完成了)
const myChars = echarts.init(main);
如下圖所示

第六步:配置對應(yīng)的option數(shù)據(jù)
需要配置對應(yīng)的option數(shù)據(jù)可以采用對象拼接的數(shù)據(jù)
如下圖所示:

第七步:setOption方法進(jìn)行數(shù)據(jù)的設(shè)置
通過setOption方法進(jìn)行數(shù)據(jù)的設(shè)置
myChars.setOption(this.options);
如下圖所示

三、完整代碼如下(包含父組件中的傳值,Vue3中Vue2的分寫法)
父組件(echars父組件傳值格式)
<EcharsCommon :seriesOpeion="{series:[
{
name: 'Email',
type: 'line',
stack: 'Total',
data: [120, 132, 101, 134, 90, 230, 210]
},
{
name: 'Video Ads',
type: 'line',
stack: 'Total',
data: [150, 232, 201, 154, 190, 330, 410]
},
{
name: 'Search Engine',
type: 'line',
stack: 'Total',
data: [820, 932, 901, 934, 1290, 1330, 1320]
}
]}"></EcharsCommon>
子組件(echars子組件封裝)
這個是定義的公用組件Echars(子組件)
<template>
<div ref="EcharRef" style="width: 300px; height: 300px"></div>
</template>
<script lang="ts">
import { defineComponent } from "vue";
//第一步:先在官網(wǎng)中的指令進(jìn)行安裝
// npm install echarts --save
//第二步:導(dǎo)入echarts
import * as echarts from "echarts";
export default defineComponent({
//第三步:創(chuàng)建Dom結(jié)構(gòu)(并且設(shè)定div的大?。┯脕韊chars圖表
//第四步:通過ref獲取到創(chuàng)建的Dom結(jié)構(gòu) (?。。。?!Dom加載完成的生命周期?。。。?!)
mounted() {
const main = this.$refs.EcharRef;
//第五步:初始化咱們的圖表內(nèi)容(到這里基礎(chǔ)的引入工作已經(jīng)完成了)
const myChars = echarts.init(main);
//第六步:需要配置對應(yīng)的option數(shù)據(jù)可以采用對象拼接的數(shù)據(jù)
//第七步:通過setOption進(jìn)行數(shù)據(jù)的設(shè)置
myChars.setOption(this.options);
},
//父組件傳過來的數(shù)據(jù)
props: {
seriesOpeion: [Array, Object],
},
//使用計(jì)算屬性進(jìn)行合并
computed: {
options() {
return Object.assign(this.baseOption, this.seriesOpeion);
},
},
data() {
return {
/* 一些配置項(xiàng)的設(shè)置內(nèi)容 */
baseOption: {
//標(biāo)題
titile: {
text: "測試折線圖",
},
//legend圖例的設(shè)置 plain是橫向排,scroll是垂直排(具體屬性請對照官方文檔)
legend: {
type: "plain",
},
//X軸設(shè)置
xAxis: {
type: "category",
name: "日期",
data: [1, 2, 3, 4, 5, 6, 7],
},
//y軸數(shù)據(jù)
yAxis: {
type: "value",
name: "數(shù)量",
},
//鼠標(biāo)懸浮在圖表上的tip提示(這里的trigger屬性需要重視:axis是折線等,itme是扇形等)
tooltip: {
trigger: "axis",
},
//工具欄的對應(yīng)設(shè)置,詳細(xì)內(nèi)容可以閱讀文檔
toolbox: {
feature: {},
},
},
};
},
});
</script>
四、Vue3的寫法完整寫法如下(setup篇)
展示效果如下
第一種數(shù)據(jù)結(jié)構(gòu)(入門)

第二種數(shù)據(jù)結(jié)構(gòu)展示圖(復(fù)雜,可按需配置)

代碼圖解,如下所示:

完整的使用代碼如下:
<script setup lang="ts">
//1.導(dǎo)入echarts
import * as echarts from 'echarts';
import { Ref, ref, onMounted } from 'vue'
//2.事先外部聲明的一些圖表結(jié)構(gòu)(如果是使用公共組件的話,這里可以用函數(shù)進(jìn)行封裝+對數(shù)據(jù)進(jìn)行處理的函數(shù))
import {options,option} from './dataScource'
//3.獲取定義的Dom模板
const echarsDom:Ref<HTMLElement|any> = ref(null)
//4.在組件掛載的生命周期中獲取到DOm節(jié)點(diǎn)
onMounted(() => {
//5.創(chuàng)建echarts初始化對象
const myEcharts = echarts.init(echarsDom.value);
//6.校驗(yàn)表結(jié)構(gòu)是否存在,存在就渲染
options && myEcharts.setOption(option);
})
</script>
<template>
<!-- 創(chuàng)建一個div去顯示echarts -->
<div ref="echarsDom" style="width: 800px;height: 600px;"></div>
</template>總結(jié)
到此這篇關(guān)于Vue3中使用echarts的簡單七個步驟的文章就介紹到這了,更多相關(guān)Vue3使用echarts內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
vue中關(guān)于this.refs為空出現(xiàn)原因及分析
這篇文章主要介紹了vue中關(guān)于this.refs為空出現(xiàn)原因及分析,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-05-05
使用vue3+vite導(dǎo)入圖片路徑錯亂問題排查及解決
使用vue3+vite開發(fā)的時(shí)候,導(dǎo)入svg圖片時(shí),同一個文件夾下的文件,其中一個路徑正常解析,另一個不行,更改文件名之后,該圖片文件就可以正常解析了,本文給大家介紹了使用vue3+vite導(dǎo)入圖片路徑錯亂問題排查及解決,需要的朋友可以參考下2024-03-03
vue+element UI實(shí)現(xiàn)樹形表格
這篇文章主要為大家詳細(xì)介紹了vue+element UI實(shí)現(xiàn)樹形表格,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-12-12
Vue 路由切換時(shí)頁面內(nèi)容沒有重新加載的解決方法
今天小編就為大家分享一篇Vue 路由切換時(shí)頁面內(nèi)容沒有重新加載的解決方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-09-09
vue生成二維碼QR?Code的簡單實(shí)現(xiàn)方法示例
這篇文章主要為大家介紹了vue生成二維碼QR?Code的實(shí)現(xiàn)示例詳情,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-04-04
vue2.x版本中computed和watch的使用及關(guān)聯(lián)和區(qū)別
這篇文章主要介紹了vue2.x版本中computed和watch的使用及關(guān)聯(lián)和區(qū)別,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,需要的小伙伴可以參考一下2022-07-07
56個實(shí)用的JavaScript 工具函數(shù)助你提升開發(fā)效率
今天來看看JavaScript中的一些實(shí)用的工具函數(shù),希望能幫助你提高開發(fā)效率!需要的朋友可以參考下面文章的具體內(nèi)容2021-10-10
vuex存儲數(shù)據(jù)的幾種方法實(shí)例詳解
在瀏覽網(wǎng)頁時(shí)我們有些時(shí)候需要記住一些用戶選擇的信息,比如登陸時(shí)我們?nèi)绻x擇了記住密碼,那么我們下次進(jìn)入該網(wǎng)頁時(shí)就會有你上次的登陸信息,下面這篇文章主要給大家介紹了關(guān)于vuex存儲數(shù)據(jù)的幾種方法,需要的朋友可以參考下2022-10-10
vue3 微信掃碼登錄及獲取個人信息實(shí)現(xiàn)的三種方法
本文主要介紹了vue3 微信掃碼登錄及獲取個人信息實(shí)現(xiàn)的三種方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-03-03

