由官方文档,我们可知table想要设置高度,就必须在table里面设置高度
element中table高度自适应问题
所以在应用到自适应高度也需要结合api实现
在table部分定义变量
element中table高度自适应问题
在data中定义!
在data中定义常量显然不合理

因此我们定义一个变量
element中table高度自适应问题

     //table中
      <el-table 
            v-show="tabadd" 
            :data="tableData" 
            style="width: 100%" 
            border
            :height="tableConfig.height"
            show-summary
            :summary-method="getSummaries"
            :cell-style="{textAlign:'right'}"
        >

        // data中
        // 自适应高度
        tableConfig:{
          isLoading:true,
          height:window.innerHeight-159  // 下面剩余多少空白部分(即最下面距离底部有多少距离)
        },

虽然这时候,已经可以根据窗体大小,高度动态变化,但是,还要每次刷新才行……

所以,我们需要加一个监听器即可,监听窗体大小变化,一旦变化就执行方法重新设定height

// ↓在methods里面
getHeight () {
  this.tableConfig.height = window.innerHeight - 159
}
//↑在methods里面
// 窗体大小变化就执行getHeight方法即可
created () {  // 初始化开始监听自适应高度数据
    window.addEventListener('resize', this.getHeight)
  },
destroyed () {  // 离开时销毁高度自适应监听
    window.removeEventListener('resize', this.getHeight)
  }

这里还有个需要注意的地方,就是修改下el-table的css,否则table会有很多留白,看起来体验不是很好

这里使用了/deep/ ,否则我们是修改不了 element自带的样式

      /deep/ .el-table {
  		.el-table__body{
            height: 100%;
          }
		}

本文来源:https://blog.csdn.net/qq_43519735/article/details/105513821

相关文章:

  • 2021-11-29
  • 2022-12-23
  • 2021-08-12
  • 2021-09-03
  • 2021-08-29
  • 2022-12-23
  • 2021-11-05
  • 2022-12-23
猜你喜欢
  • 2021-10-10
  • 2022-01-13
  • 2022-12-23
  • 2021-06-08
  • 2022-02-07
  • 2021-06-02
  • 2022-12-23
相关资源
相似解决方案