0


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

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

如下vue代码:

  1. <template>
  2. <el-table
  3. :data="tableData"
  4. :height="tableHeight"
  5. ref="table"
  6. >
  7. <!-- 表格内容 -->
  8. </el-table>
  9. </template>
  10. <script>
  11. export default {
  12. data() {
  13. return {
  14. tableData: [], // 假设这是你的表格数据
  15. tableHeight: 0 // 初始高度为0
  16. };
  17. },
  18. created() {
  19. this.calculateTableHeight(); // 初始化时计算表格高度
  20. window.addEventListener('resize', this.handleResize); // 添加窗口大小改变事件监听器
  21. },
  22. beforeDestroy() {
  23. window.removeEventListener('resize', this.handleResize); // 在组件销毁前移除事件监听器
  24. },
  25. methods: {
  26. calculateTableHeight() {
  27. // 这里可以根据需要动态计算表格的高度
  28. // 例如,获取窗口高度的一定比例等等
  29. this.tableHeight = window.innerHeight * 0.9; // 将表格高度设置为窗口高度的90%
  30. },
  31. handleResize() {
  32. // 窗口大小改变时触发的事件处理程序
  33. this.calculateTableHeight(); // 重新计算表格高度
  34. // 还可以根据需要重新加载表格数据等操作
  35. }
  36. }
  37. };
  38. </script>

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


本文转载自: https://blog.csdn.net/qq78442761/article/details/143103199
版权归原作者 IT1995 所有, 如有侵权,请联系我们删除。

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

还没有评论