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>
相关推荐
丷丩14 分钟前
MapLibre GL JS第41课:向地图添加图标
前端·javascript·mapbox·maplibre gl js
英俊潇洒美少年20 分钟前
前端性能优化:非关键脚本/第三方资源异步加载全解(彻底解决首屏阻塞)
前端·性能优化
Jun62623 分钟前
QT(2)-通过管道关联CMD
开发语言·qt·命令模式
掘金者阿豪40 分钟前
终于!我的第二本书正式出版,吃透 Agentic AI 核心不踩坑
javascript·后端
开飞机的舒克_44 分钟前
vue3+router动态权限路由
前端·vue.js
VitoChang1 小时前
放弃手搓路由吧!用 SolidStart 搞 SPA,真香
前端
GuWenyue1 小时前
告别JS类型坑!Ts为什么在ai时代逐渐成为"第一"语言
前端·算法·typescript
三乐2281 小时前
事件循环是什么东西,一篇文章带你了解
前端·javascript
wuhen_n1 小时前
RAG 核心:向量嵌入与本地向量数据库实战
前端·langchain·ai编程
孟陬1 小时前
国外技术周刊 #139:LLM 正在杀死程序员的「懒惰美德」
前端·人工智能·后端