el-table中同时使用expand和fixed,展开内容被分割成三段解决办法

问题描述

如下图所示,el-table中,如果同时使用expandfixed的话,expand中的内容会被分割成三份,展开的内容不具有连续性
在这里插入图片描述

解决结果展示

解决最终效果如下,expand中的展开内容连续展示,不会被分割
在这里插入图片描述

问题分析

如下图所示,如果加了fixed之后,element会把table复制两份(如果只加一侧fixed,则只会复制一份),我们在页面上看到的结果是三个表格最终合并之后的样式
在这里插入图片描述
可以看到,左中右这三个表格是独立存在的,如果只双击中间的内容,左右的内容并不会被同时选中
在这里插入图片描述

解决办法

  • 给中间的表格设置z-index:100(100是我随便写的,只要他的层级比两边高就可以)
  • 隐藏两边的表格
  • 给展开的内容设置宽度和背景色
    默认宽度是表格的宽度,表格是非常宽的,如果不设置宽度,那么展开内容需要滑动才会展示完全
    背景色盖住fixed产生的阴影
/deep/ .el-table__body-wrapper {
    
    
  .el-table__expanded-cell {
    
    
    z-index: 100;
    padding: 0;
  }
}
/deep/ .el-table__fixed,
/deep/.el-table__fixed-right {
    
    
  .el-table__expanded-cell {
    
    
    visibility: hidden;
    padding: 0;
  }
}
.expand {
    
    
  width: calc(100vw - 100px);
  padding: 20px;
  background: #fff;//盖住fixed产生的阴影
}

如果不设置展开内容的宽度,会默认显示表格宽度,点击展开并不能完全展示内容,需要滑动才可以展示完全
在这里插入图片描述
设置展开内容的背景盖住fixed产生的阴影
在这里插入图片描述

html代码展示
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_44157964/article/details/120205080