Vue笔记-浏览器窗口改变时,重新计算表格高度并设置

当窗口大小改变时,你监听 window 对象的 resize 事件,然后在事件处理程序中重新计算表格的高度。在 Vue 中,可以在组件中通过 created 生命周期钩子来添加事件监听器,然后在组件销毁时移除事件监听器。

如下vue代码:

javascript 复制代码
<template>
  <el-table
    :data="tableData"
    :height="tableHeight"
    ref="table"
  >
    <!-- 表格内容 -->
  </el-table>
</template>

<script>
export default {
  data() {
    return {
      tableData: [], // 假设这是你的表格数据
      tableHeight: 0 // 初始高度为0
    };
  },
  created() {
    this.calculateTableHeight(); // 初始化时计算表格高度
    window.addEventListener('resize', this.handleResize); // 添加窗口大小改变事件监听器
  },
  beforeDestroy() {
    window.removeEventListener('resize', this.handleResize); // 在组件销毁前移除事件监听器
  },
  methods: {
    calculateTableHeight() {
      // 这里可以根据需要动态计算表格的高度
      // 例如,获取窗口高度的一定比例等等
      this.tableHeight = window.innerHeight * 0.9; // 将表格高度设置为窗口高度的90%
    },
    handleResize() {
      // 窗口大小改变时触发的事件处理程序
      this.calculateTableHeight(); // 重新计算表格高度
      // 还可以根据需要重新加载表格数据等操作
    }
  }
};
</script>

在这个示例中,在 created 生命周期钩子中添加了窗口大小改变事件的监听器,并在 beforeDestroy 钩子中移除了监听器,以避免内存泄漏。当窗口大小改变时,handleResize 方法会被调用,重新计算表格的高度并更新视图。

相关推荐
一条可有可无的咸鱼18 分钟前
企业招聘信息,企业资讯进行公示
java·vue.js·spring boot·uni-app
Li.CQ27 分钟前
SQL学习笔记(二)
笔记·sql·学习
Luna-player29 分钟前
在前端中,<a> 标签的 href=“javascript:;“ 这个是什么意思
开发语言·前端·javascript
lionliu051930 分钟前
js的扩展运算符的理解
前端·javascript·vue.js
小草cys43 分钟前
项目7-七彩天气app任务7.4.2“关于”弹窗
开发语言·前端·javascript
自不量力的A同学2 小时前
OpenNJet v3.3.1.3
笔记
前端一小卒3 小时前
一个看似“送分”的需求为何翻车?——前端状态机实战指南
前端·javascript·面试
syt_10133 小时前
Object.defineProperty和Proxy实现拦截的区别
开发语言·前端·javascript
charlie1145141913 小时前
如何快速在 VS2026 上使用 C++ 模块 — 完整上手指南
开发语言·c++·笔记·学习·现代c++
长安牧笛3 小时前
儿童屏幕时间管控学习引导系统,核心功能,绑定设备,设时长与时段,识别娱乐,APP超时锁屏,推荐益智内容,生成使用报告,学习达标解锁娱乐
javascript