1.切换tab时,echart显示默认的100px

切换tab时,elementUI的原理设置v-show 元素被隐藏,切换的时候echart 获取不到父元素高度

1.2 效果


1.3 解决方法

切换tab时先销毁然后再init(注意:要在this.$nextTick中进行操作,确保能获取到dom)

 this.$nextTick(() => {this.$echarts.init(document.getElementById("element")).dispose();this.myChart = this.$echarts.init(document.getElementById("element"));let option = xxxthis.myChart.setOption(option)})// 切换tab时在tab-click(tab 被选中时触发)事件中对echarts进行重绘

具体实现看下面

1.4 原代码

<template><div style="padding:20px;"><el-card><el-tabs type="border-card" v-model="tabName" @tab-click="handleClick"><el-tab-pane label="用户管理" name="用户管理"><div class="echart-top"><div id="echart1" style="width:100%;height:100%;"></div><div id="echart2" style="width:100%;height:100%;"></div></div></el-tab-pane><el-tab-pane label="配置管理" name="配置管理"><div class="echart-top"><div id="echart3" style="width:100%;height:100%;"></div><div id="echart4" style="width:100%;height:100%;"></div></div></el-tab-pane></el-tabs></el-card></div>
</template><script>
export default {name: "",data() {return {tabName: "配置管理",myChart1: "",myChart2: "",myChart3: "",myChart4: "",};},mounted() {this.init();},methods: {init() {this.getEchart1();this.getEchart2();this.getEchart3();this.getEchart4();},//    tab 被选中时触发handleClick(value) {console.log("value", value);if (value.name === "用户管理") {this.getEchart1();this.getEchart2();} else {this.getEchart3();this.getEchart4();}},getEchart1() {this.$nextTick(() => {this.$echarts.init(document.getElementById("echart1")).dispose();this.myChart1 = this.$echarts.init(document.getElementById("echart1"));let option = {legend: {top: "bottom",},toolbox: {show: true,feature: {mark: { show: true },dataView: { show: true, readOnly: false },restore: { show: true },saveAsImage: { show: true },},},series: [{name: "面积模式",type: "pie",radius: [50, 250],center: ["50%", "50%"],roseType: "area",itemStyle: {borderRadius: 8,},data: [{ value: 40, name: "rose 1" },{ value: 38, name: "rose 2" },{ value: 32, name: "rose 3" },{ value: 30, name: "rose 4" },{ value: 28, name: "rose 5" },{ value: 26, name: "rose 6" },{ value: 22, name: "rose 7" },{ value: 18, name: "rose 8" },],},],};this.myChart1.setOption(option);});},getEchart2() {this.$nextTick(() => {this.$echarts.init(document.getElementById("echart2")).dispose();this.myChart2 = this.$echarts.init(document.getElementById("echart2"));let option = {xAxis: {type: "category",data: ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"],},yAxis: {type: "value",},series: [{data: [120, 200, 150, 80, 70, 110, 130],type: "bar",showBackground: true,backgroundStyle: {color: "rgba(180, 180, 180, 0.2)",},},],};this.myChart2.setOption(option);});},getEchart3() {this.$nextTick(() => {this.$echarts.init(document.getElementById("echart3")).dispose();this.myChart3 = this.$echarts.init(document.getElementById("echart3"));let option = {xAxis: {type: "category",boundaryGap: false,data: ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"],},yAxis: {type: "value",},series: [{data: [820, 932, 901, 934, 1290, 1330, 1320],type: "line",areaStyle: {},},],};this.myChart3.setOption(option);});},getEchart4() {this.$nextTick(() => {this.$echarts.init(document.getElementById("echart4")).dispose();this.myChart4 = this.$echarts.init(document.getElementById("echart4"));let option = {xAxis: {},yAxis: {},series: [{data: [[10, 40],[50, 100],[40, 20],],type: "line",},],};this.myChart4.setOption(option);});},},
};
</script><style scoped>
.echart-top {display: flex;justify-content: space-between;width: 100%;height: 500px;
}
</style>

1.Echarts的坑:切换tab时,echart显示默认的100px相关推荐

  1. echarts柱状图值为0时不显示以及柱状图百分比展示

    echarts柱状图值为0时不显示以及柱状图百分比展示 1.效果展示 2.代码 <template><div id="container"><div ...

  2. Vue.js项目中,当图片无法显示时则显示默认图片

    Vue.js项目中,当图片无法显示时则显示默认图片使用onerror方法 最近在学习Vue时,遇到了一个问题,就是从后台传过来的图片路径无效时,需要在页面显示默认图片 本人试了3种方法,2种方法失败了 ...

  3. jQuery-图片加载失败时,显示默认图片

    有以下几种情况: 1.正常显示图片: <img src="img/bus2.png"> 2.当图片未找到或者404时,触发 onerror 显示默认的图片: <i ...

  4. 图片不存在时,显示默认图片

    图片不存在时,显示一个默认的图片 <img src="abc.JPG" οnerrοr="this.src='default.JPG'" /> 多张 ...

  5. Echarts鼠标移动切换数据项时Tooltip卡顿情况优化

    大家在使用Echarts的过程用,可能会碰到这样的情况,就是鼠标切换数据项过快时,鼠标hover触发的Tooltip的展示会有延迟的现象,给用户有一种很卡的感觉.特别是当页面内容较多,或者trigge ...

  6. react-antd项目,一个多tab页面,共用一个title相同的table表格,并且在切换tab时实现数据更新

    一.前言 最近因为项目要求,开始学习并且使用React和Ant Design框架.在前端开发过程中,遇到这样一个页面:有多个tab,每个tab下都是一个table表格来进行数据展示.但,每个table ...

  7. 解决:element切换tab时table的抖动问题

    抖动可能原因: element有做自动检测适应. 页面出现重绘. v-for的key属性渲染不对. 百度提供的解决方案有: v-show改成v-if.由于本需求的所有tab下的表格均需要显示,所以不能 ...

  8. Vue+Openlayers显示TileWMS时不显示默认控件放大缩小旋转等组件

    场景 Vue中使用Openlayers加载Geoserver发布的TileWMS: Vue中使用Openlayers加载Geoserver发布的TileWMS_霸道流氓气质的博客-CSDN博客 在上面 ...

  9. 列表页进入详情页再返回列表页时,显示默认第一页的bug修复

    如图所示,当我点击分页第二页的第一项,进入详情页后,在点击返回按钮,按理说应该返回到列表页第二页,但是却变成了默认的首页 究其原因,大概是在返回列表页时,接口传参的当前页码pageNum默认传的是1, ...

最新文章

  1. java 对象内存布局_Java--对象内存布局
  2. OOJ-面向对象的JAVASCRIPT(二)
  3. 万字长文,理解Elasticsearch和面试总结
  4. linux 查看端口使用情况
  5. oracle12c多个pdb,Oracle 12c 多租户专题|12cR2中PDB内存资源管理
  6. Android下发布正式包注意事项
  7. sysbench测试mysql性能(TPS、QPS、IOPS)(重要)
  8. 网络安全04_互联网发展史_网线+网卡+协议栈_中继器_集线器_网桥_路由器_AC/AP_防火墙_流控_家庭网络_小型创业公司网络_园区网_政务网络_数据中心网络拓扑_电信网/互联网_Mac地址
  9. C++:46---绝不重新定义继承而来的non-virtual函数
  10. 求立方根_初一数学立方根考点详解,立足基础,把握题型,学会方法
  11. 北京创客空间_世界上最大的创客空间,可增强开放安全性等
  12. PCI总线特性及信号说明
  13. hive使用适用场景_数据分析之hive学习(四):面试题——场景输出(row_number)...
  14. php快速就业教程,PHP就业快学教程004,基本语法“条件控制语句”!
  15. Fspecial函数用法
  16. LabWindows/CVI入门之第一章:LabWindows/CVI开发环境
  17. DID会固定年份吗_你了解渐进式DID平行趋势图的几种画法吗?
  18. 【无人机】【2017.12】基于AGENT的防御群建模分析
  19. 一切恍如昨日,却又截然不同...
  20. android 10系统下载地址,Android 10正式版

热门文章

  1. 结构体08:结构体案例2
  2. MAC 打开safari和Chrome打开开发者工具的快捷键
  3. Open3d之计算源点云与目标云的距离
  4. PCL最小二乘法进行平面拟合原理
  5. 计算机网络在金融领域的应用,计算机网络毕业论文计算机网络技术在金融领域的应用.pdf...
  6. 【Python】安装方法小结
  7. 8篇文章系统梳理ARM开发中的文件类型
  8. php查找二维数组值,根据二维数组某个字段的值查找数组
  9. Node+fs+定时器(node-schedule)+MySql
  10. sql: table,view,function, procedure created MS_Description in sql server