Elementui table使用fixed参数固定列导致下方拖动条被遮挡无法拖动

使用Elementui的table的固定列时,出现拖动条被固定列遮挡的情况,加入下面方法可以适应屏幕比例,让固定列的高度随着表格高度变化

 //在mounted中写resize事件监听执行tableHeight()方法,可以保证浏览器缩放时重新修改固定列遮罩高度
  mounted() {
    window.addEventListener("resize", this.tableHeight);
  },
  //关闭页面前删除事件监听,否则在其他路由会报错
  beforeDestroy() {
    window.removeEventListener("resize", this.tableHeight);
  },
 //该方法可以放在created()中使用,视具体情况而定
  tableHeight() {
      //maxHeight表示的是表格高度,绑定在el-table的height参数上
      this.maxHeight = document.body.clientHeight * 0.72;
      //注意,钩子函数一定要加上,否则修改后的高度不会重新渲染
      this.$nextTick(() => {
        //通过class获取固定列遮罩的元素fix对象
        var fix = document.getElementsByClassName("el-table__fixed")[0];
        //拿到旧的遮罩的style属性值
        var fixStyle = fix.getAttribute("style");
        //获取style中height属性的位置
        var heightLocation = fixStyle.indexOf("height");
        var modifyFixStyle = fixStyle
          //截取除了height属性之外的属性
          .substring(0, heightLocation)
          //拼接上新的height属性,新的高度留出2%的空间给拖动条
          .concat("height: ")
          .concat(`${this.maxHeight * 0.98}`)
          .concat("px;");
        //将新的样式赋fix对象
        fix.setAttribute("style", modifyFixStyle);
      });
    },
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值