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 方法会被调用,重新计算表格的高度并更新视图。

相关推荐
成都渲染101云渲染66663 分钟前
如何在3ds Max中实现更快、更高质量的渲染
前端·javascript·人工智能
paopaokaka_luck3 小时前
英语单词学习系统的设计与实现(基于艾宾浩斯遗忘曲线的智能复习机制、语音朗读、多题型测试与错题自动收录、Echarts图形化分析)
vue.js·spring boot·后端·echarts
SRET4 小时前
Mineradio 沙盒隔离安装完全指南 | 一键安全运行 Electron 应用!!!
javascript·经验分享·安全·electron·aigc·音视频·ai编程
全栈前端老曹4 小时前
【MongoDB】安全与权限管理 —— 用户认证、角色权限、SSL 加密
前端·javascript·数据库·安全·mongodb·nosql·ssl
β添砖java5 小时前
2025最新快速构建企业级虚拟专用网络环境学习笔记
笔记·学习
qianpeng45 小时前
IDA PRO笔记
笔记
free357 小时前
作用域链与 Environment:变量查找、遮蔽和赋值怎么实现
javascript
Momo__8 小时前
Vite 8.1 打包开发模式——10000 组件冷启动 15 倍,"No Bundle Dev" 七年后被自己终结
前端·vue.js·vite
YHL8 小时前
🤖 Agent 智能体开发实战 · 第一课:Tool Use —— 让大模型自动干活
前端·javascript·人工智能
Yang_jie_039 小时前
笔记:数据结构(顺序表)
数据结构·windows·笔记