Vue3 根据窗口的大小动态调整列表的长度

在当今的Web开发中,页面自适应不同设备的屏幕尺寸是一个至关重要的需求。Vue.js,作为一个流行的前端框架,提供了强大的响应式系统,使得开发者可以轻松地实现这一功能。本文将深入探讨如何使用Vue.js来实时监听浏览器窗口尺寸的变化,并根据这些变化动态调整页面布局。

~script:

javascript 复制代码
const windowWidth = ref(0);
const windowHeight = ref(0);
const tableOuter = ref();
  
const updateWindowSize = () => {
  windowWidth.value = window.innerWidth;
  windowHeight.value = window.innerHeight;
  page.pageSize =
    windowWidth.value > 1200
      ? Math.floor(
          (windowHeight.value -
            (isMobile ? 0 : tableOuter?.value.getBoundingClientRect().top) -
            110) /
            33
        )
      : 10;
	  
  await getList();//获取你的列表
};

onMounted(async () => {
  updateWindowSize();
  window.addEventListener("resize", updateWindowSize);//如果需要实时监听窗口的变化调整列表,就加上
  await getList();//获取你的列表
});

//如果需要实时监听窗口的变化调整列表,就加上如下代码
onActivated(async () => {
  await getList();
  window.addEventListener("resize", updateWindowSize);
});

onDeactivated(() => {
  window.removeEventListener("resize", updateWindowSize);
});

~template

javascript 复制代码
<template>
	<div ref="tableOuter">
		<el-table 
		:data="list"
		:height="autoHeight"
		size="small">
		</el-table>
	</div>
<template>
相关推荐
看到我请叫我铁锤12 小时前
vue编写web端在线预览文档
前端·javascript·vue.js
Ratten12 小时前
【Vben 解决】---- 跨页复选获取选择数据
前端
ssshooter12 小时前
为什么明明只有一个 12px 的小元素,父容器却有 63px 高?
前端·javascript·面试
XR12345678812 小时前
工业园区整体组网,方案对比怎么选?
开发语言·php
东东最爱敲键盘12 小时前
day9.C++多态之虚函数
开发语言·c++
IT_陈寒12 小时前
Python的GIL让我深夜加班,这破锁到底怎么折腾的
前端·人工智能·后端
码云数智-园园13 小时前
类似小鹅通的知识付费小程序平台有哪些
开发语言
snow@li13 小时前
Java:跨平台原理与JDK、JRE、JVM全景深度解析
java·开发语言·jvm
Livia要学习13 小时前
Python闭包
开发语言·jvm·python
乘风gg13 小时前
9 张 AI 生成的图,吃透任何一个前端项目
前端·ai编程·claude