前端vue实现element Table表格自适应窗口高度

18 篇文章 0 订阅
<template>
  <div>
    <el-table :data="tableData"
              style="width: 100%"
              ref="table"
              :height="tableHeight">
      <el-table-column prop="date"
                       label="日期"
                       width="180">
      </el-table-column>
      <el-table-column prop="name"
                       label="姓名"
                       width="180">
      </el-table-column>
      <el-table-column prop="address"
                       label="地址">
      </el-table-column>
    </el-table>
  </div>
</template>

<script>
export default {
  data() {
    return {
      tableData: [
        {
          date: "2016-05-02",
          name: "王小虎",
          address: "上海市普陀区金沙江路 1518 弄",
        },
        {
          date: "2016-05-04",
          name: "王小虎",
          address: "上海市普陀区金沙江路 1517 弄",
        },
        {
          date: "2016-05-01",
          name: "王小虎",
          address: "上海市普陀区金沙江路 1519 弄",
        },
        {
          date: "2016-05-03",
          name: "王小虎",
          address: "上海市普陀区金沙江路 1516 弄",
        },
        {
          date: "2016-05-02",
          name: "王小虎",
          address: "上海市普陀区金沙江路 1518 弄",
        },
        {
          date: "2016-05-04",
          name: "王小虎",
          address: "上海市普陀区金沙江路 1517 弄",
        },
        {
          date: "2016-05-01",
          name: "王小虎",
          address: "上海市普陀区金沙江路 1519 弄",
        },
        {
          date: "2016-05-03",
          name: "王小虎",
          address: "上海市普陀区金沙江路 1516 弄",
        },
        {
          date: "2016-05-02",
          name: "王小虎",
          address: "上海市普陀区金沙江路 1518 弄",
        },
        {
          date: "2016-05-02",
          name: "王小虎",
          address: "上海市普陀区金沙江路 1518 弄",
        },
        {
          date: "2016-05-04",
          name: "王小虎",
          address: "上海市普陀区金沙江路 1517 弄",
        },
        {
          date: "2016-05-01",
          name: "王小虎",
          address: "上海市普陀区金沙江路 1519 弄",
        },
        {
          date: "2016-05-03",
          name: "王小虎",
          address: "上海市普陀区金沙江路 1516 弄",
        },
        {
          date: "2016-05-02",
          name: "王小虎",
          address: "上海市普陀区金沙江路 1518 弄",
        },
        {
          date: "2016-05-04",
          name: "王小虎",
          address: "上海市普陀区金沙江路 1517 弄",
        },
        {
          date: "2016-05-01",
          name: "王小虎",
          address: "上海市普陀区金沙江路 1519 弄",
        },
        {
          date: "2016-05-03",
          name: "王小虎",
          address: "上海市普陀区金沙江路 1516 弄",
        },
      ],
      tableHeight: 0,
    };
  },
  watch: {
    tableHeight() {
      window.onresize = () =>
        (this.tableHeight =
          window.innerHeight - this.$refs["table"].$el.offsetTop - 50);
    },
  },
  mounted() {
    this.$nextTick(function () {
      this.tableHeight =
        window.innerHeight - this.$refs["table"].$el.offsetTop - 50;
    });
  },
};
</script>

<style lang="scss" scoped>
</style>

效果:在这里插入图片描述
变化窗口大小后
在这里插入图片描述

  • 5
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
实现滚轮滑动时表格呈现自适应状态,可以使用element-ui中的el-table组件。可以在el-table组件中设置max-height属性来控制表格的最大高度,当表格内容超出最大高度时,表格会自动显示滚动条。同时,可以在el-table-column组件中设置min-width属性来控制列的最小宽度,当列宽小于最小宽度时,列会自动显示省略号。 以下是一个示例代码: ``` <template> <div> <el-table :data="tableData" :max-height="tableHeight" style="width: 100%"> <el-table-column prop="name" label="姓名" :min-width="100"> </el-table-column> <el-table-column prop="age" label="年龄" :min-width="80"> </el-table-column> <el-table-column prop="address" label="地址" :min-width="200"> </el-table-column> </el-table> </div> </template> <script> export default { data() { return { tableData: [ {name: '张三', age: 18, address: '北京市朝阳区'}, {name: '李四', age: 20, address: '上海市浦东新区'}, {name: '王五', age: 22, address: '广州市天河区'}, {name: '赵六', age: 24, address: '深圳市福田区'}, {name: '孙七', age: 26, address: '成都市锦江区'}, {name: '周八', age: 28, address: '武汉市江汉区'}, {name: '吴九', age: 30, address: '南京市鼓楼区'}, {name: '郑十', age: 32, address: '杭州市西湖区'}, ], tableHeight: 0 } }, mounted() { this.tableHeight = window.innerHeight - this.$el.offsetTop - 20 window.addEventListener('resize', this.handleResize) }, beforeDestroy() { window.removeEventListener('resize', this.handleResize) }, methods: { handleResize() { this.tableHeight = window.innerHeight - this.$el.offsetTop - 20 } } } </script> ``` 在上面的示例代码中,我们设置了一个tableHeight变量来控制表格高度,然后在mounted钩子函数中计算表格高度,当窗口大小改变时,通过监听resize事件来重新计算表格高度。通过这种方式,我们可以实现滚轮滑动时表格呈现自适应状态。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值