el-tabs 自适应高度

案例

1. 获取可视化高度

javascript 复制代码
luTabsHeight(element) {  
     let offsetTop = 0; //存储从元素到视口顶部的总偏移量 
     let currentElement = element; //将传入的元素赋值给currentElement,准备遍历其祖先元素  
     // 遍历元素的每个祖先元素  
     while (currentElement) {  
       offsetTop += currentElement.offsetTop;  // 累加每个祖先元素的 offsetTop  
       if (currentElement.scrollTop) {  // 检查当前元素是否是滚动容器(比如 div 有 overflow-y: auto) 
         offsetTop -= currentElement.scrollTop; // 累加滚动容器的 scrollTop  
       }  
       currentElement = currentElement.offsetParent;// 移动到父元素  
     }  
     offsetTop += window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0;  // 还需要考虑页面的滚动(视口滚动) 
     this.heights=window.innerHeight-offsetTop-105
     console.log(window.innerHeight-offsetTop,'高度',this.heights);
    },
//window.pageYOffset 获取页面垂直滚动距离的标准方式;对于旧版浏览器,可能需要检查document.documentElement.scrollTop(对于HTML元素)或document.body.scrollTop(对于body元素)
//window.innerHeight 可视窗口高度 - offsetTop 计算出的偏移量,105是我自己页面tabs外面元素的高度

2. 使用内联样式(粗暴)

html 复制代码
<el-tabs :tab-position="tabPosition"
      ref="tabs"
      :style="{ '--header-height': heights + 'px' }" 
      @tab-click="handleClick"
      v-model="activeName">
 <!-- 其他代码 --> 
</el-tabs>
<script>  
export default {  
  data() {  
    return {  
      heights : 60, // 动态调整这个值  
      // 其他数据...  
    };  
  },  
  methods: { 
    //获取tab 动态高度,给heights动态赋值 
   luTabsHeight(){}
  }
};  
</script>
<style scoped lang="scss">
::v-deep .el-tabs--left .el-tabs__header.is-left{
  height: var(--header-height); 
}
</style>

内联不推荐,大家有推荐的方法不?

相关推荐
D_C_tyu5 天前
Vue3 + Element Plus | el-table 多级表头表格导出 Excel(含合并单元格、单元格居中)第二版
vue.js·elementui·excel
跟着珅聪学java5 天前
Element UI 的 el-input组件触发 blur事件
javascript·vue.js·elementui
Komorebi゛5 天前
【Vue + Element Plus】el-tree树结构样式改造,添加转折线
前端·javascript·vue.js·elementui
花生柿子5 天前
在elementui可横向滚动的table中,操作列有时候会透视下面的行
前端·javascript·elementui
敲代码的小吉米5 天前
Element Plus 表格中的复制功能使用指南
前端·javascript·elementui
小白探索世界欧耶!~12 天前
Vue2项目引入sortablejs实现表格行拖曳排序
前端·javascript·vue.js·经验分享·elementui·html·echarts
css趣多多14 天前
vue2项目改造为vue3遇到的问题以及解决办法
前端·vue.js·elementui
EstherNi15 天前
仿照elementui写图片放大的案例,但多加了下载按钮,vue3
javascript·vue.js·elementui
糕冷小美n17 天前
elementuivue2表格不覆盖整个表格添加固定属性
前端·javascript·elementui
沐墨染17 天前
黑词分析与可疑对话挖掘组件的设计与实现
前端·elementui·数据挖掘·数据分析·vue·visual studio code