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

vue使用element-ui tabs切換echarts解決寬度100%方式

 更新時間:2023年07月18日 10:04:36   作者:小熊學Java  
這篇文章主要介紹了vue使用element-ui tabs切換echarts解決寬度100%方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

vue使用element-ui tabs切換echarts 解決寬度100%

問題描述

vue+element項目中使用到了tab切換選項卡,其中有一個tab下的內(nèi)容是echarts,出現(xiàn)了echarts寬度縮減為100px無法繼承100%屬性。

問題

echarts渲染時tab選項卡display為none,所以width:100%沒有可繼承項,被echarts自帶方法切割成100px。

解決思路

銷毀組件,在tab選項卡被選中時重新渲染組件,這個時候就會有寬度繼承。

第一種:通過 v-if 重新渲染組件即可。

<template>
? <div>
? ? <el-tabs v-model="activeName" @tab-click="handleClick">
? ? ? ? <el-tab-pane label="學生實習統(tǒng)計" name="1">
? ? ? ? ? ? <xiaobear-bar-chart ref="child" v-if="activeName==='1'"/>
? ? ? ? </el-tab-pane>
? ? ? ? <el-tab-pane label="學生周記統(tǒng)計" name="2">
? ? ? ? ? ? <xiaobear-pie-chart ref="second" v-if="activeName==='2'"/>
? ? ? ? </el-tab-pane>
? ? </el-tabs>
? </div>
</template>
<script>
? export default {
? ? name: "IncomeStatistics",
? ? data() {
? ? ? return {
? ? ? ? activeName: '1', //當前激活的標簽頁
? ? ? };
? ? },
? ? methods: {
? ? ? //切換標簽頁時觸發(fā)
? ? ? handleClick(tab, event) {
? ? ? ? this.activeName = tab.name;
? ? ? },
? ? }
? }
</script>?

第二種:延時調(diào)用echart的resize()方法即可

methods:{
? ? handleClick(tab, event) {
? ? ? if (tab.name === 'second') {
? ? ? ? this.$nextTick(() => {
? ? ? ? ? this.$refs.second.chart.resize()
? ? ? ? })
? ? ? }
? ? },
}

第三種:給標簽添加lazy屬性

<el-tab-pane :laze="true">
? ? <ToexamineLine ref="child"/>
</el-tab-pane>

vue el-tabs切換 不顯示echarts 寬度為0

1.通過echarts不同的id,寫不同的圖,調(diào)用接口展示不同的圖

<el-tabs v-model="activeName" @tab-click="handleClick">
? ? <el-tab-pane label="電廠" name="dc" >
? ? ? ? <div :id="'myChart1'" style="width:100%;height:160%;"></div>
? ? </el-tab-pane>
? ? <el-tab-pane label="變電站" name="bdz" >
? ? ? ? <div :id="'myChart2'" style="width:100%;height:160%;"></div>
? ? </el-tab-pane>
</el-tabs>
methods: {
initChart1() {
? ? ? ? this.chart1 = echarts.init(document.getElementById("myChart1"));
? ? ? ? var option = {
? ? ? ? ? //內(nèi)容省略
? ? ? ? };
? ? ? ? this.gsList = [];
? ? ? ? this.dsList = [];
? ? ? ? this.chart1.setOption(option, true)
? ? ? },
? ? ? initChart2() {
? ? ? ? this.chart2 = echarts.init(document.getElementById("myChart2"));
? ? ? ? var option = {
? ? ? ? ? //內(nèi)容省略
? ? ? ? };
? ? ? ? this.gsList = [];
? ? ? ? this.dsList = [];
? ? ? ? this.chart2.setOption(option, true)
? ? ? },
? ? //標簽頁
? ? ? handleClick(tab, event) {
? ? ? ? this.activeName == tab.name;
? ? ? ? if(this.activeName == 'dc'){
? ? ? ? ? this.queryForm.type = 'dc'
? ? ? ? ? this.getList()
? ? ? ? }else if(this.activeName == 'bdz'){
? ? ? ? ? this.queryForm.type = 'bdz'
? ? ? ? ? this.getList()
? ? ? ? }
? ? ? },
? ? ?getList(){
? ? ? ? //圖
? ? ? ? if(this.activeName == 'dc'){
? ? ? ? ? getDwgs(this.queryForm).then((res) => {
? ? ? ? ? ? this.echartsList = res.list
? ? ? ? ? ? for(let i=0;this.echartsList.length>i;i++){
? ? ? ? ? ? ? this.dsList.push(this.echartsList[i].ds)
? ? ? ? ? ? ? this.gsList.push(this.echartsList[i].gs)
? ? ? ? ? ? }
? ? ? ? ? ? this.$nextTick(() => {
? ? ? ? ? ? ? this.initChart1()
? ? ? ? ? ? })
? ? ? ? ? })
? ? ? ? }else if(this.activeName == 'bdz'){
? ? ? ? ? getDwgs(this.queryForm).then((res) => {
? ? ? ? ? ? this.echartsList = res.list
? ? ? ? ? ? for(let i=0;this.echartsList.length>i;i++){
? ? ? ? ? ? ? this.dsList.push(this.echartsList[i].ds)
? ? ? ? ? ? ? this.gsList.push(this.echartsList[i].gs)
? ? ? ? ? ? }
? ? ? ? ? ? this.$nextTick(() => {
? ? ? ? ? ? ? this.initChart2()
? ? ? ? ? ? })
? ? ? ? ? })
? ? ? ? }
? ? ? },
}

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • vue params、query傳參使用詳解

    vue params、query傳參使用詳解

    本篇文章主要介紹了vue params、query傳參使用詳解,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-09-09
  • Vue3?PC端頁面開發(fā)規(guī)范及說明

    Vue3?PC端頁面開發(fā)規(guī)范及說明

    這篇文章主要介紹了Vue3?PC端頁面開發(fā)規(guī)范及說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • 10個Vue3中的編程實用技巧分享

    10個Vue3中的編程實用技巧分享

    這篇文章主要為大家詳細介紹了10個Vue3中的編程實用技巧,文中的示例代碼講解詳細,具有一定的借鑒價值,感興趣的小伙伴可以跟隨小編一起學習一下
    2025-03-03
  • Element-ui table中過濾條件變更表格內(nèi)容的方法

    Element-ui table中過濾條件變更表格內(nèi)容的方法

    下面小編就為大家分享一篇Element-ui table中過濾條件變更表格內(nèi)容的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-03-03
  • 分分鐘玩轉(zhuǎn)Vue.js組件

    分分鐘玩轉(zhuǎn)Vue.js組件

    這篇文章教大家如何分分鐘玩轉(zhuǎn)Vue.js組件,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-10-10
  • vuex 使用文檔小結(jié)篇

    vuex 使用文檔小結(jié)篇

    Vuex 是一個專為Vue.js應(yīng)用程序開發(fā)的狀態(tài)管理模式,集中式存儲管理應(yīng)用的所有組件狀態(tài)。本文給大家介紹了vuex使用文檔,需要的朋友參考下吧
    2018-01-01
  • 解讀vue項目中遇到的深拷貝淺拷貝問題

    解讀vue項目中遇到的深拷貝淺拷貝問題

    這篇文章主要介紹了vue項目中遇到的深拷貝淺拷貝問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-10-10
  • VeeValidate在vue項目里表單校驗應(yīng)用案例

    VeeValidate在vue項目里表單校驗應(yīng)用案例

    這篇文章主要介紹了VeeValidate在vue項目里表單校驗應(yīng)用案例,VeeValidate是Vue.js的驗證庫,它有很多驗證規(guī)則,并支持自定義規(guī)則,非常具有實用價值,需要的朋友可以參考下
    2018-05-05
  • Vue3實戰(zhàn)學習配置使用vue?router路由步驟示例

    Vue3實戰(zhàn)學習配置使用vue?router路由步驟示例

    這篇文章主要為大家介紹了Vue3實戰(zhàn)學習配置使用vue?router路由步驟示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-06-06
  • vue項目本地開發(fā)完成后部署到服務(wù)器后報404錯誤解決方案

    vue項目本地開發(fā)完成后部署到服務(wù)器后報404錯誤解決方案

    很多時候我們發(fā)現(xiàn)辛辛苦苦寫的VueJs應(yīng)用經(jīng)過打包后在自己本地搭建的服務(wù)器上測試沒有什么問題,但真正放在服務(wù)器上后會發(fā)現(xiàn)或多或少的問題,這篇文章主要給大家介紹了關(guān)于vue項目本地開發(fā)完成后部署到服務(wù)器后報404錯誤的解決方案,需要的朋友可以參考下
    2024-01-01

最新評論