关于echarts和tab结合,echarts比例缩小的问题

当一个页面中既有echarts又有Tab标签,且echarts图不止一个时,会出现echarts图被压缩的问题,解决如下,亲测有效:

在引入echarts组件时,添加一个v-if条件,在每次切换到该tab页时,才会加载echarts:

 <el-tabs v-model="activeName" @tab-click="handleClick" >
        <el-tab-pane label="故障率" name="gzl">
          <Echarts1 :queryParamsNew="FaultMonthParams" />
        </el-tab-pane>
        <el-tab-pane label="缺陷隐患情况" name="qxyh">
          <Echarts2 v-if="'qxyh'===activeName"/>
        </el-tab-pane>
</el-tabs>

<script>
    data(){
        return {
            activeName: 'gzl'
        }    
    },
    methods: {
        handleClick(tab,event) {}
</script>

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在 ECharts 中实现多Tab切换,可以通过以下步骤实现: 1. 创建一个包含多个Tab的容器,比如使用Bootstrap的Tab组件或自定义实现一个Tab容器。 2. 在每个Tab面板中创建一个ECharts实例对象。 3. 为每个Tab面板的ECharts实例对象设置不同的数据和配置,以展示不同的图表。 4. 在Tab切换时,根据切换的面板,重新渲染对应的ECharts实例对象。 以下是一个简单的示例代码: HTML代码: ``` <div class="tab-container"> <!-- Tab导航 --> <ul class="nav nav-tabs"> <li class="active"><a href="#tab1">Tab 1</a></li> <li><a href="#tab2">Tab 2</a></li> <li><a href="#tab3">Tab 3</a></li> </ul> <!-- Tab面板 --> <div class="tab-content"> <div class="tab-pane active" id="tab1"> <div id="chart1" style="height: 400px;"></div> </div> <div class="tab-pane" id="tab2"> <div id="chart2" style="height: 400px;"></div> </div> <div class="tab-pane" id="tab3"> <div id="chart3" style="height: 400px;"></div> </div> </div> </div> ``` JavaScript代码: ``` // 初始化Tab组件 $('.nav-tabs a').click(function(e) { e.preventDefault(); $(this).tab('show'); }); // 初始化ECharts实例对象 var chart1 = echarts.init(document.getElementById('chart1')); var chart2 = echarts.init(document.getElementById('chart2')); var chart3 = echarts.init(document.getElementById('chart3')); // 设置不同的数据和配置 var option1 = {...}; var option2 = {...}; var option3 = {...}; chart1.setOption(option1); chart2.setOption(option2); chart3.setOption(option3); ``` 当Tab切换时,可以使用ECharts的`setOption`方法重新渲染对应的图表。例如,当切换到Tab 2时,可以使用以下代码重新渲染第二个图表: ``` $('.nav-tabs a[href="#tab2"]').on('shown.bs.tab', function () { chart2.resize(); // 重新调整图表大小 chart2.setOption(option2); // 重新渲染图表 }); ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值