首页 > 其他分享 >vue3 虚拟滚动的一些实践

vue3 虚拟滚动的一些实践

时间:2023-06-21 18:25:08浏览次数:49  
标签:el RecycleScrollerRefMap const tab scroller 虚拟 key vue3 滚动

看到这个vueuse库打开新天地后,看到一句warning: Consider using vue-virtual-scroller instead, if you are looking for more features.

于是用起来。

好用,前提是看懂文档

业务需要使用grid,它的grid竟然不是css,而是js计算

// tempalte
<RecycleScroller :ref="(el) => setItemRef(el, tab.name)" class="test-scroller" // css必须定义高度 :items="items" keyField="id" v-bind="{ ...scrollConfig }" itemClass="recycle-scroll-item" @resize="handleScrollResize(tab.name)" > <template v-slot="{ item:}">
// xxx组件
</template> </RecycleScroller> // js: const RecycleScrollerRefMap = {}; const setItemRef = (el, key) => { if (el) { RecycleScrollerRefMap[key] = el; } }; const scrollConfig = { itemSize: 360, // 高 minItemSize: 360, // 高 itemSecondarySize: 408, // 宽 gridItems: 4, }; const handleScrollResize = (key) => { console.log('*******', RecycleScrollerRefMap[key]); // 打印出来竟然是 VueInstance };

 

标签:el,RecycleScrollerRefMap,const,tab,scroller,虚拟,key,vue3,滚动
From: https://www.cnblogs.com/wilsunson/p/17496867.html

相关文章

  • vue3 - onMounted 多次触发 - 解决
    1.原因<router-view>外面使用了 <keep-alive>导致多次触发 onMounted生命周期2.解决使用<keep-alive>的第一层页面初始化数据的生命周期应该放弃使用 onMounted 应该使用onActivated用法与 onMounted 是一样的 ......
  • 【热门博客文章31】元宇宙与增强现实虚拟现实娱乐:打造全新娱乐方式
    目录引言随着信息技术的不断发展,虚拟现实(VR)和增强现实(AR)技术逐渐成为人们越来越关注的话题。这些技术不仅可以为用户提供全新的娱乐体验,也可以用于游戏、教育、医疗等多个领域。本文将介绍元宇宙与增强现实虚拟现实娱乐的技术原理和实现步骤,并分析其在未来的发展趋势和挑战。......
  • 基于图像识别的虚拟现实技术:从概念到应用
    目录随着虚拟现实技术的快速发展,基于图像识别的虚拟现实技术也逐渐成为了人们关注的焦点。虚拟现实技术是一种将虚拟世界与现实世界相结合,让人们能够身临其境的体验的技术。而基于图像识别的虚拟现实技术则是通过识别图像中的特征,构建出一个虚拟世界,为用户提供更为真实的交互体验。......
  • 【条漫】一文读懂虚拟化与容器的区别,技术焦虑-1-1-1
    先简单说说虚拟化、容器技术的概念和原理:♦虚拟化技术是通过在物理硬件上创建虚拟的资源层,将一台物理服务器划分为多个虚拟机,每个虚拟机可以独立运行不同的操作系统和应用程序。虚拟化技术的优势在于资源的隔离性和灵活性,可以更好地利用硬件资源,提高服务器的利用率♦容器技术是虚拟......
  • 【vue3】实现el-tree组件
     禾小毅csdn博客【vue3】实现el-tree组件,将不同层级的箭头修改成自定义图标的组件封装及调用【vue3】实现简易的“百度网盘”文件夹的组件封装实现【vue3】实现公共搜索组件,在当前页搜索的路由跳转不能改变当前值的操作,使用bus/event-emitter派发器......
  • 用cloudmonkey批量创建虚拟机
    需求:1.root磁盘120G(这个在做镜像的时候已经做好)2.需要用到share网络3.添加500G磁盘并且挂载早虚拟机上面#!/bin/bashzone_id=d530fee4-413a-463b-abf5-4fdcf523077bnetwork_id=96eb15a6-ccd3-4e33-adf0-b5f3e63e2466serviceofferingid='b1fb445d-2571-4803-a3f5-93f0ad81b245't......
  • 直播开发app,css 自定义滚动条样式
    直播开发app,css自定义滚动条样式<divclass="content-wrap">  <div>    内容XXXX  </div> </div>  <style> //content-wrap样式.content-wrap{  flex:1;  overflow-y:scroll;  box-sizing:border-box;  padding:010px;  ......
  • JVM 虚拟机笔记,不一定全,但是一定靠谱
    在学习JVM之前,先分享一则信息:2009年4月20日,Orace宣布正式以74亿美元的价格收购市值曾超过2000亿美元的Sun公司,传奇的SunMicrosystems从此落幕成为历史。一、Java虚拟机的介绍首先登场的是,虚拟机的始组:SunClassic/ExactVM,SunClassic被誉为世界上第一款商用Ja......
  • 关于vite创建vue3项目@代替src失效的问题
    用vite创建的vue3项目,用@来代替src不生效。报错:[vite]Internalservererror:Failedtoresolveimport"@/views/xxxxxxxxxxxxx"from"src\views\dashboard\index.vue".Doesthefileexist?解决的方法是:先安装pathnpminstall--save-dev@type/node在vite.co......
  • vue3+vite+TS搭建项目
    安装npm安装方式npminitvue@latestpnpm安装方式(二选一)pnpmcreatevue@latest然后设置项目名称,接着选择自己需要的配置,安装完成......