欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Vue3中使用echarts的簡單七個步驟(易懂,附緊急避坑)

 更新時間:2023年01月05日 10:47:53   作者:滿腦子技術(shù)的前端工程師  
近期在做一個vue3的項目,里面有個圖表需求,因公司之前使用第三方封裝的圖表缺少文檔,就去看了echars的官網(wǎng)文檔,引入原生echars來實現(xiàn),下面這篇文章主要給大家介紹了關(guān)于Vue3中使用echarts的簡單七個步驟,需要的朋友可以參考下

前言

提示:vue3中使用echars的七步驟如下:其中第5-7的步驟都寫在Dom渲染完成的生命周期中:可以是 onMounted() 也可以是 Mounted()

最終效果展示:

一、Echars官網(wǎng)地址

下面的三個地址可以方便我們進行官網(wǎng)的直接跳轉(zhuǎn)(省時省力)主要是為了方便xdm

二、Echars的創(chuàng)建步驟(Vue3中使用Vue2的寫法)

這里是直接封裝的組件進行使用的

只需傳入數(shù)據(jù)就可以一勞永逸大大滴方便

第一步:安裝echars

在終端中執(zhí)行:npm install echarts --save

 npm install echarts --save

如下圖所示:

在終端中執(zhí)行: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) (!?。。。om加載完成的生命周期?。。。?!)

  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方法進行數(shù)據(jù)的設(shè)置

通過setOption方法進行數(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)中的指令進行安裝
// 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進行數(shù)據(jù)的設(shè)置
    myChars.setOption(this.options);
  },
  //父組件傳過來的數(shù)據(jù)
  props: {
    seriesOpeion: [Array, Object],
  },
  //使用計算屬性進行合并
  computed: {
    options() {
      return Object.assign(this.baseOption, this.seriesOpeion);
    },
  },
  data() {
    return {
      /* 一些配置項的設(shè)置內(nèi)容 */
      baseOption: {
        //標題
        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ù)量",
        },
        //鼠標懸浮在圖表上的tip提示(這里的trigger屬性需要重視:axis是折線等,itme是扇形等)
        tooltip: {
          trigger: "axis",
        },
        //工具欄的對應(yīng)設(shè)置,詳細內(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ù)進行封裝+對數(shù)據(jù)進行處理的函數(shù))
import {options,option} from './dataScource'

//3.獲取定義的Dom模板
const echarsDom:Ref<HTMLElement|any> = ref(null)

//4.在組件掛載的生命周期中獲取到DOm節(jié)點
onMounted(() => {
    //5.創(chuàng)建echarts初始化對象
    const myEcharts = echarts.init(echarsDom.value);
    //6.校驗表結(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.js快速入門實例教程

    Vue.js快速入門實例教程

    vue是法語中視圖的意思,Vue.js是一個輕巧、高性能、可組件化的MVVM庫,同時擁有非常容易上手的API。這篇文章主要介紹了Vue.js快速入門實例教程的相關(guān)資料,需要的朋友可以參考下
    2016-10-10
  • vue中的rules表單校驗規(guī)則使用方法示例詳解 :rules=“rules“

    vue中的rules表單校驗規(guī)則使用方法示例詳解 :rules=“rules“

    這篇文章主要介紹了vue中的rules表單校驗規(guī)則使用方法示例詳解 :rules=“rules“,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-11-11
  • Vuex模塊化與持久化深入講解

    Vuex模塊化與持久化深入講解

    在實際項目開發(fā)過程中,如果公共數(shù)據(jù)比較多我們會使用vuex做公共狀態(tài)管理,但是在對瀏覽器進行刷新操作的時候,會導(dǎo)致vuex內(nèi)的數(shù)據(jù)丟失,這種情況有些時候是沒問題的,但是有的時候我們需要某些數(shù)據(jù)可以持久化的保存,這樣就需要做對應(yīng)的處理
    2023-01-01
  • vue中el-tree?橫向滾動條的實現(xiàn)

    vue中el-tree?橫向滾動條的實現(xiàn)

    本文詳細介紹了在Vue框架中使用el-tree組件創(chuàng)建橫向滾動條的方法,通過代碼示例和步驟說明,幫助開發(fā)者理解和實現(xiàn)橫向滾動功能,感興趣的可以了解一下
    2024-09-09
  • Vue各種loader的基本配置與使用示例教程

    Vue各種loader的基本配置與使用示例教程

    這篇文章主要介紹了Vue?各種loader的基本配置與使用,本文結(jié)合示例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-01-01
  • vue3.0和vue2.0的區(qū)別詳細講解

    vue3.0和vue2.0的區(qū)別詳細講解

    vue經(jīng)歷從2.0到3.0更新之后,簡??之就是變得更輕更快,使?起來更加?便,下面這篇文章主要給大家介紹了關(guān)于vue3.0和vue2.0區(qū)別的相關(guān)資料,需要的朋友可以參考下
    2023-10-10
  • Vue中Element的table多選表格如何實現(xiàn)單選

    Vue中Element的table多選表格如何實現(xiàn)單選

    這篇文章主要介紹了Vue中Element的table多選表格如何實現(xiàn)單選,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-07-07
  • Vue3.x如何設(shè)置瀏覽器動態(tài)Title方法

    Vue3.x如何設(shè)置瀏覽器動態(tài)Title方法

    這篇文章主要介紹了Vue3.x如何設(shè)置瀏覽器動態(tài)Title方法,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-03-03
  • Vue3中集成高德地圖并實現(xiàn)平移縮放功能

    Vue3中集成高德地圖并實現(xiàn)平移縮放功能

    隨著前端技術(shù)的不斷發(fā)展,地圖應(yīng)用在我們的項目中越來越常見,本文將介紹如何在Vue3項目中集成高德地圖,并通過簡單的配置實現(xiàn)地圖的平移和縮放功能,需要的朋友可以參考下
    2024-09-09
  • 詳解vue-cli本地環(huán)境API代理設(shè)置和解決跨域

    詳解vue-cli本地環(huán)境API代理設(shè)置和解決跨域

    這篇文章主要介紹了詳解vue-cli本地環(huán)境API代理設(shè)置和解決跨域,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-09-09

最新評論