最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

vue中設(shè)置echarts寬度自適應(yīng)的代碼步驟

 更新時(shí)間:2022年09月17日 08:25:10   作者:水冗水孚  
這篇文章主要介紹了vue中設(shè)置echarts寬度自適應(yīng)的問題及解決方案,常常需要做到echarts圖表的自適應(yīng),一般是根據(jù)頁面的寬度做對應(yīng)的適應(yīng),本文記錄一下設(shè)置echarts圖表的自適應(yīng)的步驟,需要的朋友可以參考下

問題描述

我們使用vue做項(xiàng)目的時(shí)候,常常需要做到echarts圖表的自適應(yīng),一般是根據(jù)頁面的寬度做對應(yīng)的適應(yīng)。本文記錄一下設(shè)置echarts圖表的自適應(yīng)的步驟。我們先看一下沒有做echarts自適應(yīng)的效果

無自適應(yīng)效果圖

我們發(fā)現(xiàn)echarts圖的寬度并沒有隨著頁面寬度的變化而變化

有自適應(yīng)效果圖

很顯然,這個(gè)才是我們想要的效果

代碼步驟

echart圖表本身提供了一個(gè)resize的函數(shù),我們只需要監(jiān)聽頁面的resize變化以后,去執(zhí)行echarts的resize方法即可重繪canvas,從而實(shí)現(xiàn)對應(yīng)自適應(yīng)效果。請看代碼中的注釋步驟

<template>
  <div id="echart"></div>
</template>

<script>
// 第一步,引入echarts插件以供使用
import Echarts from "echarts";
export default {
  data() {
    return {
      myChart: null, // 定義變量用來存放echarts實(shí)例
      option: { // 配置項(xiàng)寫在data里面方便管理
        title: {
          text: "ECharts 示例",
        },
        tooltip: {},
        xAxis: {
          data: ["襯衫", "羊毛衫", "雪紡衫", "褲子", "高跟鞋", "襪子"],
        },
        yAxis: {},
        series: [
          {
            name: "銷量",
            type: "bar",
            data: [5, 20, 36, 10, 10, 20],
          },
        ],
      },
    };
  },
  mounted() {
    // 第二步,在頁面加載渲染的時(shí)候執(zhí)行echarts畫圖方法
    this.drawEcharts();
  },
  methods: {
    drawEcharts() {
      // 第三步,通過echarts的init方法實(shí)例化一個(gè)echarts對象myChart,并,保存在data變量中
      this.myChart = Echarts.init(document.getElementById("echart"));
      // 第四步,執(zhí)行myChart的setOption方法去畫圖,當(dāng)然至于配置項(xiàng),我們要提前配置好,這里的配置項(xiàng)
      //         寫在data中,方便我們在一些事件中去修改對應(yīng)配置項(xiàng),比如點(diǎn)擊按鈕更改配置項(xiàng)數(shù)據(jù)
      this.myChart.setOption(this.option);
      // 第五步,在頁面初始化加載的時(shí)候綁定頁面resize事件監(jiān)聽。補(bǔ)充resize事件:resize事件是在瀏覽器窗口大小改變時(shí),會(huì)觸發(fā)。
      //        如當(dāng)用戶調(diào)整窗口大小,或者最大化、最小化、恢復(fù)窗口大小顯示時(shí)觸發(fā) resize 事件。
      //        我們一般使用這個(gè)事件去做窗口大小與對應(yīng)元素的大小適配
      window.addEventListener("resize", () => {
        // 第六步,執(zhí)行echarts自帶的resize方法,即可做到讓echarts圖表自適應(yīng)
        this.myChart.resize();
        // 如果有多個(gè)echarts,就在這里執(zhí)行多個(gè)echarts實(shí)例的resize方法,不過一般要做組件化開發(fā),即一個(gè).vue文件只會(huì)放置一個(gè)echarts實(shí)例
        /*
        this.myChart2.resize();
        this.myChart3.resize();
        ......
        */
      });
    },
    beforeDestroy() {
      /* 頁面組件銷毀的時(shí)候,別忘了移除綁定的監(jiān)聽resize事件,否則的話,多渲染幾次
      容易導(dǎo)致內(nèi)存泄漏和額外CPU或GPU占用哦*/
      window.removeEventListener("resize", () => {
        this.myChart.resize();
      });
    },
  },
};
</script>

<style lang="less" scoped>
#echart {
  width: 100%;
  height: 600px;
}
</style>

到此這篇關(guān)于vue中設(shè)置echarts寬度自適應(yīng)的問題及解決方案的文章就介紹到這了,更多相關(guān)vue 寬度自適應(yīng)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Vue 集成 PDF.js 實(shí)現(xiàn) PDF 預(yù)覽和添加水印的步驟

    Vue 集成 PDF.js 實(shí)現(xiàn) PDF 預(yù)覽和添加水印的步驟

    這篇文章主要介紹了如何在 Vue 中集成 Mozilla/PDF.js ,實(shí)現(xiàn)自定義的 PDF 預(yù)覽器,以及給被預(yù)覽的 PDF 添加水印
    2021-01-01
  • vue使用wavesurfer.js解決音頻可視化播放問題

    vue使用wavesurfer.js解決音頻可視化播放問題

    Wavesurfer.js是一款基于HTML5?canvas和Web?Audio的聲紋可視化插件,功能十分強(qiáng)大,在Vue框架中嵌入使用該插件,今天重點(diǎn)給大家介紹下vue使用wavesurfer.js解決音頻可視化播放問題,感興趣的朋友一起看看吧
    2022-04-04
  • vue cli安裝使用less的教程詳解

    vue cli安裝使用less的教程詳解

    這篇文章主要介紹了vue-cli安裝使用less的教程,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-07-07
  • 解決Vue 瀏覽器后退無法觸發(fā)beforeRouteLeave的問題

    解決Vue 瀏覽器后退無法觸發(fā)beforeRouteLeave的問題

    這篇文章主要介紹了解決Vue 瀏覽器后退無法觸發(fā)beforeRouteLeave的問題,需要的朋友可以參考下
    2017-12-12
  • vue兄弟組件傳遞數(shù)據(jù)的實(shí)例

    vue兄弟組件傳遞數(shù)據(jù)的實(shí)例

    今天小編就為大家分享一篇vue兄弟組件傳遞數(shù)據(jù)的實(shí)例,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-09-09
  • vue組件實(shí)現(xiàn)彈出框點(diǎn)擊顯示隱藏效果

    vue組件實(shí)現(xiàn)彈出框點(diǎn)擊顯示隱藏效果

    這篇文章主要為大家詳細(xì)介紹了vue組件實(shí)現(xiàn)彈出框點(diǎn)擊顯示隱藏,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-04-04
  • 詳解Vue串聯(lián)過濾器的使用場景

    詳解Vue串聯(lián)過濾器的使用場景

    這篇文章主要介紹了詳解Vue串聯(lián)過濾器的使用場景,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-04-04
  • Vue進(jìn)度條progressbar組件功能

    Vue進(jìn)度條progressbar組件功能

    progressbar組件在一個(gè)可以直接運(yùn)行的npm包,通過Yeoman進(jìn)行構(gòu)建,再通過Gulp+Webpack構(gòu)建工具。這篇文章給大家介紹了Vue進(jìn)度條progressbar組件
    2018-04-04
  • vue3中的render函數(shù)里定義插槽和使用插槽

    vue3中的render函數(shù)里定義插槽和使用插槽

    這篇文章主要介紹了vue3中的render函數(shù)里定義插槽和使用插槽方式,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-07-07
  • vue項(xiàng)目中Toast字體過小,沒有邊距的解決方案

    vue項(xiàng)目中Toast字體過小,沒有邊距的解決方案

    這篇文章主要介紹了vue項(xiàng)目中Toast字體過小,沒有邊距的解決方案。具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-04-04

最新評論

大石桥市| 常熟市| 大同市| 工布江达县| 鸡西市| 荣成市| 普洱| 潍坊市| 沂南县| 盖州市| 怀来县| 陵水| SHOW| 尼木县| 万全县| 拉萨市| 鄱阳县| 张家港市| 武义县| 同仁县| 枝江市| 天气| 和平县| 灌云县| 浦县| 启东市| 嵩明县| 龙井市| 琼中| 徐州市| 合山市| 沙雅县| 商城县| 安宁市| 怀安县| 安达市| 三台县| 达孜县| 闻喜县| 临汾市| 右玉县|