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

Vue中使用Echarts可視化圖表寬度自適應(yīng)的完美解決方案

 更新時(shí)間:2022年09月17日 08:13:53   作者:ZGH_77733  
這篇文章主要介紹了Vue中使用Echarts可視化圖表,寬度自適應(yīng)解決方案,我的解決方案是,在放置Echarts的容器(div)外層再套一層容器(div),外層容器寬度固定設(shè)置手機(jī)屏幕寬,感興趣的朋友跟隨小編一起看看吧

一、問(wèn)題闡述:

開發(fā)H5項(xiàng)目中應(yīng)用到Echarts數(shù)據(jù)可視化,由于H5主要使用在手機(jī),屏幕寬度大大限制了圖表的展現(xiàn),問(wèn)題如下。

上圖中x軸的數(shù)據(jù)是動(dòng)態(tài)的,從2022年切換到2021年數(shù)據(jù)變化,此時(shí)如果x軸的數(shù)據(jù)過(guò)多就會(huì)顯得格外擁擠。

二、解決思路:

我的解決方案是,在放置Echarts的容器(div)外層再套一層容器(div),外層容器寬度固定設(shè)置手機(jī)屏幕寬,并設(shè)置溢出顯示滾動(dòng)條(width: 100%;overflow: auto),內(nèi)層Echarts容器寬度初始寬為100%,如果數(shù)據(jù)大于設(shè)定的量時(shí),就加大放置Echarts的容器寬度。

本以為能順利解決問(wèn)題時(shí),然而效果并不盡人意,效果如下。

1. 容器寬度改變了

2. 滾動(dòng)條出現(xiàn)

3. 圖表未加寬到容器寬度

其實(shí)每次更改篩選條件都會(huì)從新創(chuàng)建實(shí)例,但Echarts圖表并未按照預(yù)期加寬,感覺就像緩存了最初設(shè)定的容器寬度一樣。

仔細(xì)看文檔才發(fā)現(xiàn),原來(lái)Echarts圖表本身是提供了一個(gè)resize的函數(shù)專門處理這類問(wèn)題。

三、最終效果:

完整代碼如下

<!-- 學(xué)生統(tǒng)計(jì) 折線圖 HTML部分 -->
<div class="stuCensus_box">
   <div
    id="student_census"
    class="student_census"
    ref="student_census"
   ></div>
</div>
 
// js部分 學(xué)生統(tǒng)計(jì) 折線圖
initStudentCensus() {
// 根據(jù)x軸內(nèi)容長(zhǎng)短設(shè)定echarts的寬度
   if (this.stuCensus_xAxis.length > 9) {
     this.$refs.student_census.style.width = "200%";
   } else if (this.stuCensus_xAxis.length > 5) {
     this.$refs.student_census.style.width = "130%";
   } else {
     this.$refs.student_census.style.width = "100%";
   }
 
   var myChart = this.$echarts.init(this.$refs.student_census);
 
   var option = {
     tooltip: {
       trigger: "axis",
       extraCssText: "max-height: 200px; overflow: auto;", // 設(shè)置懸浮窗樣式
       position: function (pos, params, dom) {
       dom.style.pointerEvents = "auto"; // 修改懸浮窗不可綁定事件的css屬性
       },
     },
     legend: {
       type: "scroll",
       data: this.stuCensus_legend,
     },
     grid: {
       top: "14%",
       left: "0",
       right: "1%",
       bottom: "3%",
       containLabel: true,
     },
     xAxis: {
       type: "category",
       data: this.stuCensus_xAxis,
       axisLabel: { rotate: 45 },
     },
     yAxis: {
       type: "value",
       axisLabel: axisLabel,
     },
     series: this.stuCensusSeries,
   };
   myChart.setOption(option, true);
   myChart.resize(); // 調(diào)用此API更新echarts的寬高才能生效
},

1. 用$refs設(shè)定容器寬度。

2. setOption創(chuàng)建可視化圖表實(shí)例

3. resize重繪可視化圖表

效果如下

到此這篇關(guān)于Vue中使用Echarts可視化圖表,寬度自適應(yīng)解決方案的文章就介紹到這了,更多相關(guān)Vue Echarts可視化圖表內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • vue計(jì)算屬性get和set用法示例

    vue計(jì)算屬性get和set用法示例

    這篇文章主要介紹了vue計(jì)算屬性get和set用法,結(jié)合實(shí)例形式分析了計(jì)算屬性的功能及get和set用法的具體使用技巧,需要的朋友可以參考下
    2019-02-02
  • 如何通過(guò)Vue3+Element?Plus自定義彈出框組件

    如何通過(guò)Vue3+Element?Plus自定義彈出框組件

    這篇文章主要給大家介紹了關(guān)于如何通過(guò)Vue3+Element?Plus自定義彈出框組件的相關(guān)資料,彈窗是前端開發(fā)中的一種常見需求,文中通過(guò)代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2024-05-05
  • vue-cli自定義創(chuàng)建項(xiàng)目eslint依賴沖突解決方式

    vue-cli自定義創(chuàng)建項(xiàng)目eslint依賴沖突解決方式

    vue-cli是vue.js的腳手架,用于自動(dòng)生成vue.js+webpack的項(xiàng)目模板,在創(chuàng)建項(xiàng)目時(shí),如果遇到npm安裝報(bào)錯(cuò),通常是由于依賴版本沖突造成的,文中通過(guò)圖文以及代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-09-09
  • vue項(xiàng)目中按需引入element-ui的正確實(shí)現(xiàn)方法

    vue項(xiàng)目中按需引入element-ui的正確實(shí)現(xiàn)方法

    這篇文章主要介紹了vue項(xiàng)目中按需引入element-ui的正確實(shí)現(xiàn)方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-01-01
  • Vue項(xiàng)目創(chuàng)建首頁(yè)發(fā)送axios請(qǐng)求的方法實(shí)例

    Vue項(xiàng)目創(chuàng)建首頁(yè)發(fā)送axios請(qǐng)求的方法實(shí)例

    這篇文章主要給大家介紹了關(guān)于Vue項(xiàng)目創(chuàng)建首頁(yè)發(fā)送axios請(qǐng)求的相關(guān)資料,文中通過(guò)圖文以及實(shí)例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2023-02-02
  • 基于Axios 常用的請(qǐng)求方法別名(詳解)

    基于Axios 常用的請(qǐng)求方法別名(詳解)

    下面小編就為大家分享一篇Axios 常用的請(qǐng)求方法別名,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-03-03
  • vue封裝axios與api接口管理的完整步驟

    vue封裝axios與api接口管理的完整步驟

    在實(shí)際的項(xiàng)目中,和后臺(tái)的數(shù)據(jù)交互是少不了的,我通常使用的是 axios 庫(kù),所以下面這篇文章主要給大家介紹了關(guān)于vue封裝axios與api接口管理的相關(guān)資料,需要的朋友可以參考下
    2022-01-01
  • vue組件中傳值EventBus的使用及注意事項(xiàng)說(shuō)明

    vue組件中傳值EventBus的使用及注意事項(xiàng)說(shuō)明

    這篇文章主要介紹了vue組件中傳值EventBus的使用及注意事項(xiàng)說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-11-11
  • vue element 關(guān)閉當(dāng)前tab 跳轉(zhuǎn)到上一路由操作

    vue element 關(guān)閉當(dāng)前tab 跳轉(zhuǎn)到上一路由操作

    這篇文章主要介紹了vue element 關(guān)閉當(dāng)前tab 跳轉(zhuǎn)到上一路由操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-07-07
  • vue頁(yè)面使用阿里oss上傳功能的實(shí)例(一)

    vue頁(yè)面使用阿里oss上傳功能的實(shí)例(一)

    本篇文章主要介紹了vue頁(yè)面使用阿里oss上傳功能的實(shí)例(一),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-08-08

最新評(píng)論

松江区| 邳州市| 饶平县| 长子县| 长乐市| 乐亭县| 华阴市| 河源市| 阳朔县| 禹城市| 博湖县| 措美县| 阿城市| 丹巴县| 安溪县| 浪卡子县| 云南省| 安岳县| 西乌珠穆沁旗| 三门县| 瓮安县| 娄烦县| 罗田县| 凉山| 方城县| 濉溪县| 绥化市| 永德县| 金塔县| 同江市| 永和县| 任丘市| 藁城市| 阳信县| 曲阜市| 安多县| 凤翔县| 丰城市| 乌拉特中旗| 平阴县| 杭锦旗|