element 中 el-table高度自适应

第一种方法

1.在el-table中加 :height="tableHeight"

 <el-table
      :data="tableData"
      :fit="true"
      :highlight-current-row="true"
      style="width: 100%"
      :height="tableHeight"
    >

2.data中声明

data(){
	return {
        //表格高度
		tableHeight: ""
	}
}

3.在created中调用下面方法

 methods: {
   //计算table高度(动态设置table高度)
    getTableHeight() {
      let tableH = 280; //距离页面下方的高度
      let tableHeightDetil = window.innerHeight - tableH;
      if (tableHeightDetil <= 300) {
        this.tableHeight = 300;
      } else {
        this.tableHeight = window.innerHeight - tableH;
      }
    },
  }

4.

  mounted() {
    //挂载window.onresize事件(动态设置table高度)
    let _this = this;
    window.onresize = () => {
      if (_this.resizeFlag) {
        clearTimeout(_this.resizeFlag);
      }
      _this.resizeFlag = setTimeout(() => {
        _this.getTableHeight();
        _this.resizeFlag = null;
      }, 100);
    };
  }

第二种方法:

直接加 max-height="距离底部高度"即可

<el-table
      :data="tableData"
      max-height="500"
      :key="sTable"
    ></el-table>

`el-table`是Element UI的一个表格组件,它支持高度自适应。为了使其高度自适应,你可以通过以下几种方式: 1. **动态高度**:当数据量变化时,可以设置表格的高度为`height`属性为`auto`或`calc(100% - [顶部边距 + 底部边距])`,这样表格会根据其内容自动调整高度。 ```html <el-table :data="tableData" style="height: auto;"> <!-- ... --> </el-table> ``` 2. **响应式设计**:如果你的表格容器有固定的最小高度或最大高度限制,可以结合CSS媒体查询来设置不同的高度样式。例如,在小屏幕设备上,可以设置一个较小的行高,而在大屏幕设备上则设置更高的空间。 ```css .el-table { /* 在小屏下 */ @media (max-width: 768px) { height: 400px; } /* 在大屏下 */ @media (min-width: 769px) { height: 500px; } } ``` 3. **使用V-model绑定外部元素高度**:将表格的高度作为Vue实例的属性,并通过`v-model`与外部元素(如`.vue`文件的某个div或其他元素)关联,这样当外部元素的大小改变时,表格高度也会相应更新。 ```html <div ref="tableWrapper" v-bind:style="{ height: tableHeight }"></div> <el-table :data="tableData" :height="tableHeight"> <!-- ... --> </el-table> <script> export default { data() { return { tableHeight: 'auto' }; }, computed: { // ... }, watch: { // 当外部元素高度变化时,更新tableHeight $refs.tableWrapper: { handler(height) { this.tableHeight = height; }, deep: true, }, }, }; </script> ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值