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>
相关推荐
程序员yu8 分钟前
数智码力:Python作用域完全梳理,全局变量局部变量不再混乱
开发语言·python·学习
你别说话了9 分钟前
Vue实现高效拖拽效果 vue-Draggable
前端·vue.js
万物智能17 分钟前
PWM散热风扇设置—【万物智能之开源鸿蒙OpenHarmony系统实战开发系列教程】
前端·后端·算法
前端柱子28 分钟前
q-floodfill白边锯齿?一招搞定抗锯齿边缘问题
前端
阿虎儿29 分钟前
我的 HTML 样板(HTML Boilerplate)
前端·html
Amos_Web33 分钟前
Rspack 源码解析(八):Module、Chunk 与 Runtime ID
前端·rust·源码阅读
彭于晏分晏39 分钟前
深入理解 Vue 3 响应式原理:从 Proxy 到依赖收集
前端
晚安日记wanna42 分钟前
Vue3 script setup 的四层追问答到第三层才算过关
前端·vue.js·面试
不灭的黄金瞳12343 分钟前
Java数据类型与变量
java·开发语言·intellij-idea
前端柱子1 小时前
Chaikin‘s Corner Cutting 算法 应用canvas绘制平滑的曲线
前端