Vue解决echart在element的tab切换时显⽰不正确问题最近在项⽬中遇到了这种情况,需要在tab控件上渲染多个echart图标,然后切换查看时,发现图表的宽度不正确
原因:在页⾯进⾏加载时,隐藏的图表不到对应的div⼤⼩,所以默认给了⼀个⼤⼩。所以要做的就是在页⾯加载时,就对图表进⾏初始化。
⽹上的解决⽅案⼤多都是监听tab的切换事件,然后再根据切换的页⾯重新渲染echart组件,⽐较⿇烦。
如下是个⼈的解决⽅法:
pane原理:利⽤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切换时显⽰不正确问题就是⼩编分享给⼤家的全部内容了,希望能给⼤家⼀个参考,也希望⼤家多多⽀持。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论