当前位置: 首页 > news >正文

网站建设高职考题目公司注册网上查询

网站建设高职考题目,公司注册网上查询,艺术培训机构,seo网站排名优化快速排虚拟滚动列表组件ReVirtualList 组件实现基于 Vue3 Element Plus Typescript,同时引用 vueUse lodash-es tailwindCss (不影响功能,可忽略) 在 ReList 的基础上,增加虚拟列表功能,在固定高度的基础上,可以优化大数…

虚拟滚动列表组件ReVirtualList

组件实现基于 Vue3 + Element Plus + Typescript,同时引用 vueUse + lodash-es + tailwindCss (不影响功能,可忽略)

ReList 的基础上,增加虚拟列表功能,在固定高度的基础上,可以优化大数据列表展示

思路

滚动容器默认使用List列表的父节点,需要配置 height 设置List的高度用于展示滚动条。

如果滚动容器不想使用List的父节点,可以通过 scrollTarget 指定,但是 height 需要设置为 auto,避免List内置滚动。

通过自己封装的虚拟滚动计算hook,通过监听滚动容器的滚动行为,根据当前展示视图的滚动距离计算展示内容在列表数据中的数据索引,从而获得展示视图对于数据的索引范围,以及前置内容高度,后置内容高度,最后将前置内容高度,后置内容高度以padding的方式设置,保证滚动容器的高度始终一致。

为了优化滚动交互,增加前置预加载数量和后置预加载数量,最终得到的渲染数据的数据索引。

对于卡片布局,可能存在网格布局(多列),还需要在虚拟滚动计算时,加入网格列数参数进行计算,得到最终的一个渲染数据索引范围。

难点

  • 考虑网格布局时加入列数进行虚拟滚动计算

基础

通过 items 绑定全量数据,自动进行虚拟滚动计算渲染。虚拟滚动需要指定列表项固定高度,使用前可以通过实际渲染高度或UI设计稿高度定义,默认列表项会直接使用固定高度渲染,内容超出会被隐藏。

在这里插入图片描述

查看 /demo/list/virtual.md

卡片列表

支持网格卡片列表的虚拟滚动展示,会自动根据网格数量进行虚拟滚动计算,得到能够占满当前滚动视图的网格数量。

在这里插入图片描述

查看 /demo/list/virtual-card.md

ReVirtualList属性

字段说明类型默认值
items必填,列表项数据集Record<string, any>[]-
metas必填,列表项展示配置ReListItemMetas-
title列表标题string-
height列表高度,不包括页头和页脚,默认按像素值处理string | number400
skeleton是否显示骨架屏booleantrue
rowHeight列表项高度,建议根据实际渲染指定number-
type列表类型“card” | “list”“list”
grid响应网格,仅在type="card"下有效number | ReGridResponsive1
gutter网格间距,仅在type="card"下有效number | [number] | [number, number]16

除了上述属性,支持ReList所有属性,默认会被ReList实例继承

同时ReVirtualList属性也继承了CustomVirtualScrollProps属性

CustomVirtualScrollProps

字段说明类型默认值
scrollTarget必填,滚动容器HTMLElement | (() => HTMLElement)-
pageSize页大小MaybeRef<number>20
rowHeight列表项高度number | ((index: number) => number)-
previewRows预加载数量,默认同pageSizeMaybeRef<number>-
cols多列参数,作为虚拟滚动计算参数,VirtualList会自动响应列表的网格数量,不需要手动配置MaybeRef<number>1
debounce滚动事件时延number300

ReVirtualList事件

事件名说明格式
update:checks已选中列表发生变化时触发(checks: Array<string | number>) => void
check点击某个复选框时触发(checked: boolean, id: string | number, item: Record<string, any>) => void

ReVirtualList插槽

插槽名说明
default列表项作用域插槽,带有 item、metas 两个作用域变量
titleList页头标题插槽
extraList页头额外信息插槽
footerPageList页脚插槽,在分页器之前

ReVirtualList Expose

字段说明类型
scrollTop当前滚动位置离容器顶部距离number
startPadding前置占位高度number
endPadding后置占位高度number
startIndex渲染数据开始索引number
endIndex渲染数据结束索引Ref<number>
scrollTo滚动到指定距离(scrollTop: number) => void
scrollToIndex滚动到指定索引位置(index: number) => void

源代码

Github

可以通过查看具体实现,如果遇到问题可以留言或者提出issue。

hook

虚拟滚动的实现单独抽离了一个hook,自行查看 hook/useVirtualScroll 方法,可以利用这个hook实现自己的虚拟滚动行为。目前还是基于固定高度进行计算,提供了一个rowHeight支持配置函数动态获取高度,如果您需要动态高度可以试着通过这个配置项实现

如果觉得对您有帮助的话,可以请小编瑞一下

在这里插入图片描述

在这里插入图片描述

http://www.yayakq.cn/news/131739/

相关文章:

  • 工 投标做哪个网站好科技企业网站制作
  • 电子商务网站开发参考文献大城县建设局网站
  • 天水企业网站建设淘宝运营培训视频
  • 手机怎么建网站链接网站灰色 代码
  • 做网站驻马店响应式网站案例源码
  • 阿帕奇建设网站博客重庆网站建设的公司哪家好
  • 影视制作南昌seo
  • 做外卖的网站上海网站建设设计公司排名
  • 怎样增加网站流量物流网络名词解释
  • 建设美食网站如何注册域名及网站
  • 百度网盘做存储网站企业方案
  • 香橼做空机构网站网络营销的工作岗位有哪些
  • 天津专门做网站电子商城网站开发要多少钱
  • 网站开发服务费记账觅知网是免费的吗
  • 哪些行业需要网站有哪些内容网站备案许可证
  • 商水县住房城乡建设网站服装设计效果图
  • 哪个网站能帮助做路书做网站怎么导入地图
  • 有做软件的网站有哪些宿迁房产网信息网
  • 学校网站的目的企业网站的推广方式和手段有哪些
  • 小程序网站开发怎么样百度商家
  • 湖北省住房部城乡建设厅网站呼和浩特市网站建设
  • 做相册哪个网站好百度扫一扫识别图片
  • 网站footer怎么做南宁网站开发培训
  • 广东省网站建设公司排名网易搜索引擎入口
  • 网站正在建设中源码中铁建设集团门户网登录快照
  • 网站首页幻灯片不显示wordpress动
  • 青岛专业网站推广设计公司网站打不开 ...
  • 论述网站建设的主要内容互联网相关网站
  • 网站基础模板西宁软件优化网站建设
  • 网站建设行业2017女子录视频车流中热舞