尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

虚拟列表

虚拟列表
📅 发布时间:2026/6/18 8:19:40

主要用到scrollTop、overflow:hidden、position:absolute

  1. 固定可视区域的列表高度和原始数据的总高度
  2. 获取scrollTop
  3. 根据scrollTop滚动条数,重新拿原数组中的数据
<template><div class="virtual-table" :style="{width: '600px',height: containerHeight + 'px',overflow: 'auto',}" @scroll="handleScroll"><div class="virtual-table-content" :style="{height: totalHeight + 'px',position: 'relative',}" ><div v-for="item in visibleData" :key="item.id":style="{height: itemHeight + 'px',position: 'absolute',top: (item.id * itemHeight) + 'px',left: 0,}"class="virtual-table-item">{{ item.name }} - {{ item.value }}</div></div></div>
</template><script setup>
import { ref, computed } from 'vue';const rowData = Array.from({ length: 10000 }, (_, i) => ({id: i,name: `Item ${i + 1}`,value: Math.floor(Math.random() * 1000),
}));const containerHeight = 400
const itemHeight = 50
const rowCount = Math.floor(containerHeight / itemHeight) + 1
let offsetY = ref(0)
const totalHeight = itemHeight * rowData.lengthconst visibleData = computed(() => {let startIndex = offsetY.value / itemHeightlet endIndex = startIndex + rowCountreturn rowData.slice(startIndex, endIndex)
})const handleScroll = function(e) {offsetY.value = e.target.scrollTop;
}
</script>
<style scoped>
.virtual-table-content {height: 100%;
}
</style>

相关新闻

  • 条码控件Aspose.BarCode教程:使用 C# 构建 Code11 条形码生成器
  • 物理焦距、像素焦距、像元与相机内参(fx, fy)的意义与作用
  • java课前问题列表

最新新闻

  • 深入解析P4080DS嵌入式系统:从电源、时钟到ngPIXIS FPGA的硬件设计精髓
  • ERPNext开源ERP完整教程:中小企业如何零成本实现数字化转型
  • rvest完整指南:3分钟掌握R语言最简单网页抓取技巧
  • CANN/asc-devkit:half转int32函数
  • 如何高效使用Python SECS/GEM库:半导体设备通信的终极指南
  • 2026年值得信赖的家纺店推荐 服务品质之选 价格透明零套路 - mypinpai

日新闻

  • 5分钟掌握Python进化算法:Geatpy高性能优化工具完全指南
  • Microchip 24AA044 EEPROM选型与应用全指南:从参数解析到实战编程
  • 华为的鸿蒙到底有多牛?为什么称作遥遥领先?

周新闻

  • 3步解锁iOS设备:applera1n激活锁绕过完全指南
  • 39 2026 人工智能证书终极盘点,普通人选 AI 证书可以从这些方向入手
  • Redis 暴露公网有多危险?从端口检查到补救步骤

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号