Vue解決echart在element的tab切換時顯示不正確問題
最近在項目中遇到了這種情況,需要在tab控件上渲染多個echart圖標,然后切換查看時,發(fā)現圖表的寬度不正確
原因:在頁面進行加載時,隱藏的圖表找不到對應的div大小,所以默認給了一個大小。所以要做的就是在頁面加載時,就對圖表進行初始化。
網上的解決方案大多都是監(jiān)聽tab的切換事件,然后再根據切換的頁面重新渲染echart組件,比較麻煩。
如下是個人的解決方法:
原理:利用v-if屬性,當切換至對應的tab時,設置其v-if的值為true即可,同時設置默認顯示的tab
舉例如下:
<el-tabs type="card" v-model="tabItem">
<el-tab-pane name="heart">
<span slot="label"><icon name="heart" scale="2"></icon>心率</span>
<baseline ref="heart" :chartData="{}" v-if="'heart' === tabItem"></baseline>
</el-tab-pane>
<el-tab-pane name="breath">
<span slot="label"><icon name="breath" scale="2"></icon>呼吸</span>
<baseline ref="breath" :chartData="{}" v-if="'breath' === tabItem"></baseline>
</el-tab-pane>
<el-tab-pane label="體動" name="move">
<span slot="label"><icon name="move" scale="2"></icon>體動</span>
<baseline ref="move" :chartData="{}" v-if="'move' === tabItem"></baseline>
</el-tab-pane>
</el-tabs>
這里默認tab為心率tab,當切換時,同一時刻只有一個v-if為true,當將其設置為true時,Vue會重新在頁面渲染組件,即完成了組件渲染的步驟。
補充知識:有關el-tab-pane中echarts圖遇到的問題(element中的Tabs 標簽頁)
在項目中,遇到了一個奇怪問題:
element中的el-tabs組件,在el-tab-pane引入echarts圖標時,刷新時沒有圖標出現,如果將瀏覽器窗口縮小一點,就可以展示.
解決方案:
在echarts中加入v-if來解決 (另外,有時我們在項目中用v-show也會出現上述類似情況,將v-show改成v-if試試就可以解決)
<template>
<el-tabs v-model="activeName" @tab-click="handleClick">
<el-tab-pane label="用戶管理" name="first">用戶管理</el-tab-pane>
<el-tab-pane label="配置管理" name="second">配置管理</el-tab-pane>
<el-tab-pane label="角色管理" name="third">角色管理</el-tab-pane>
<el-tab-pane label="定時任務補償" name="fourth">
<div class="echartsBox"
v-loading="loadingDetail"
element-loading-spinner="el-icon-loading"
>
<echart-line
v-if="'fourth' === activeName" //在這里加上這句話就可以解決上面的問題
class="CurePicture"
:category="chartData.category"
:data="chartData.data"
:unit="chartData.unit"
></echart-line>
</div>
</el-tab-pane>
</el-tabs>
</template>
<script>
import echartLine from "@/components/echarts/line"
export default {
components: {
echartLine
},
data() {
return {
activeName: 'second'
};
},
methods: {
handleClick(tab, event) {
console.log(tab, event);
}
}
};
</script>
拿走,不用謝!!!
以上這篇Vue解決echart在element的tab切換時顯示不正確問題就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
解決elementUI中el-tree樹形結構中節(jié)點過濾的問題
這篇文章主要介紹了解決elementUI中el-tree樹形結構中節(jié)點過濾的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-04-04
淺談vue-props的default寫不寫有什么區(qū)別
這篇文章主要介紹了淺談vue-props的default寫不寫有什么區(qū)別,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-08-08

