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

相关推荐
无心使然2 分钟前
Openlayers调用ArcGis地图服务之五 —— 要素识别(/identify)
前端·vue.js·数据可视化
YaBingSec11 分钟前
玄机网络安全靶场:JBoss 5.x_6.x 反序列化漏洞(CVE-2017-12149)
android·网络·笔记·安全·web安全·ssh
做cv的小昊19 分钟前
【TJU】研究生应用统计学课程笔记(5)——第二章 参数估计(2.3 C-R不等式)
c语言·笔记·线性代数·机器学习·数学建模·r语言·概率论
李李李勃谦24 分钟前
Vue3 + Electron + OpenHarmony 跨平台实战:从架构设计到 Markdown 编辑器完整实现
javascript·华为·electron·编辑器·harmonyos
其实防守也摸鱼28 分钟前
MarkText:开源免费的 Markdown 编辑器新星
笔记·pdf·编辑器·免费·工具·调试·可下载
Ting.~29 分钟前
软件设计师备考笔记【day2】-UML 图解 | 面向对象 | 设计模式
笔记·设计模式·uml
Highcharts.js31 分钟前
实战指南:如何构建一套全平台适配的响应式图表系统?
前端·javascript·highcharts·实战代码·响应式图表
南境十里·墨染春水35 分钟前
C++笔记——STL map
开发语言·c++·笔记
其实防守也摸鱼36 分钟前
网络安全与数据库运维核心知识点总结(附习题)
运维·网络·数据库·笔记·安全·web安全
我登哥MVP40 分钟前
【SpringMVC笔记】 - 12 - 全注解开发
java·spring boot·笔记·spring·tomcat·intellij-idea