问题

在开发过程中遇到这样一个问题:把用echarts制作的可视化图表通过el-tabs选项卡来展示,但是切换选项卡后图表宽度异常。因为项目要求宽度自适应,所以无法通过固定宽度的方式解决该问题。

原因

分析后发现,切换选项卡时,el-tabs中不显示的tab页有一个display: none的样式,这使得echarts无法获取宽度,导致出错。

解决方案

给echarts组件添加v-if属性,当切换到echarts组件所在的选项卡时,动态改变v-if的值即可。

<el-tabs v-model="activeName" class="demo-tabs" @tab-click="handleClick">
    <el-tab-pane label="产品" name="first">
        <com-a :list="productList"></com-a>
    </el-tab-pane>
    <el-tab-pane label="框架" name="second">
        <com-a :list="frameworkList"></com-a>
    </el-tab-pane>
    <el-tab-pane label="数据" name="fourth">
        <echarts-demo v-if="activeName == 'fourth'"></echarts-demo>
    </el-tab-pane>
</el-tabs>
GitHub 加速计划 / vu / vue
207.54 K
33.66 K
下载
vuejs/vue: 是一个用于构建用户界面的 JavaScript 框架,具有简洁的语法和丰富的组件库,可以用于开发单页面应用程序和多页面应用程序。
最近提交(Master分支:2 个月前 )
73486cb5 * chore: fix link broken Signed-off-by: snoppy <michaleli@foxmail.com> * Update packages/template-compiler/README.md [skip ci] --------- Signed-off-by: snoppy <michaleli@foxmail.com> Co-authored-by: Eduardo San Martin Morote <posva@users.noreply.github.com> 4 个月前
e428d891 Updated Browser Compatibility reference. The previous currently returns HTTP 404. 5 个月前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐