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>
相关推荐
掘金挖土4 小时前
前端手摸手跑路之 AI 应用开发(九)
前端·后端
中文呀7 小时前
三维 GIS 离线缓存实战:逆向 CesiumOfflineCache,并亲手为它补上"自动更新"能力
前端
前进前进前进7 小时前
TRAE 全链路实战:做了一个警示牌一键生成器:纯 Canvas、单文件、零依赖
前端
小万7428 小时前
God‘s Eye View 深度解析:15 路公开信号 + CesiumJS 的浏览器级 OSINT 控制台,60 帧渲染的“真实间谍卫星模拟器”
前端
IT星宿8 小时前
浏览器标签页全是一个图标:我用名字哈希生成 favicon,让每个项目都有身份标识
前端
OpsEye8 小时前
大模型账单对账难:不同厂商 Token 统计口径差异怎么处理
javascript·ai编程
全栈项目管理程序猿8 小时前
ArcGIS JS 基础教程(32):体元系列 - VoxelSlice 体元切片
前端·javascript
WJ.Polar10 小时前
Java封装、继承、多态
java·开发语言
摇滚侠10 小时前
Java 中如何表示负数,有符号和无符号的区别,补码的计算规则,char byte short int long 的范围
java·开发语言