国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術文章
文章詳情頁

Vue解決echart在element的tab切換時顯示不正確問題

瀏覽:167日期:2022-12-19 17:41:32

最近在項目中遇到了這種情況,需要在tab控件上渲染多個echart圖標,然后切換查看時,發(fā)現(xiàn)圖表的寬度不正確

原因:在頁面進行加載時,隱藏的圖表找不到對應的div大小,所以默認給了一個大小。所以要做的就是在頁面加載時,就對圖表進行初始化。

網(wǎng)上的解決方案大多都是監(jiān)聽tab的切換事件,然后再根據(jù)切換的頁面重新渲染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圖標時,刷新時沒有圖標出現(xiàn),如果將瀏覽器窗口縮小一點,就可以展示.

解決方案:

在echarts中加入v-if來解決 (另外,有時我們在項目中用v-show也會出現(xiàn)上述類似情況,將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 v-loading='loadingDetail' element-loading-spinner='el-icon-loading' > <echart-line v-if='’fourth’ === activeName' //在這里加上這句話就可以解決上面的問題 :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切換時顯示不正確問題就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網(wǎng)。

標簽: Vue
相關文章:
主站蜘蛛池模板: 昆明市| 庄河市| 扎兰屯市| 静乐县| 南和县| 东光县| 玛沁县| 台北市| 普陀区| 保靖县| 牡丹江市| 台山市| 华阴市| 铜山县| 醴陵市| 平乡县| 邮箱| 台东市| 拉孜县| 醴陵市| 家居| 兴业县| 海宁市| 迁安市| 扎兰屯市| 南靖县| 平武县| 金溪县| 资溪县| 义乌市| 江阴市| 淮阳县| 柳州市| 扎鲁特旗| 岳阳市| 富顺县| 平舆县| 栾城县| 通化县| 广东省| 龙口市|