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

广东一站式网站建设推荐苏州网站优化排名推广

广东一站式网站建设推荐,苏州网站优化排名推广,群晖nas做网站,杭州哪家做企业网站Vue3 虚拟列表组件库 virtual-list-vue3 的基本使用 分享个人写的一个基于 Vue3 的虚拟列表组件库,欢迎各位来进行使用与给予一些更好的建议😊 概述:该组件组件库用于提供虚拟化列表能力的组件,用于解决展示大量数据渲染时首屏渲…

Vue3 虚拟列表组件库 virtual-list-vue3 的基本使用

分享个人写的一个基于 Vue3 的虚拟列表组件库,欢迎各位来进行使用与给予一些更好的建议😊

概述:该组件组件库用于提供虚拟化列表能力的组件,用于解决展示大量数据渲染时首屏渲染缓慢和滚动卡顿问题

功能:该组件库主要包含 HFixedHeightVirtualListHFlexibleHeightVirtualList 两个组件

  • HFixedHeightVirtualList: - 定高虚拟列表组件,用于列表中每一项 item 的高度都是固定时
  • HFlexibleHeightVirtualList: - 不定高虚拟列表组件,用于列表中的每一项 item 都可能是不一样时

安装: npm i virtual-list-vue3

使用:🔺通过 item 具名插槽插槽,插入对应的 HTML 结构,该插槽也接收一个 { itemData } 属性(itemData 为该项 item 的数据

使用示例

定高虚拟列表示例: - HFixedHeightVirtualList

  • 在这里插入图片描述

  • <script setup lang="ts">
    import { HFixedHeightVirtualList } from 'virtual-list-vue3';const list = Array.from({ length: 1000 }, (_, i) => i + 1) // -- 1.模拟长列表数据(生产一个长度为1000的数组)
    </script><template><!-- 2.传入对应的 list 数据,与对应 item 的定高高度 --><HFxiedHeightVirtualList :list="list" :item-height="40"><!-- 3.通过 item 具名插槽传入对应的 item 的 HTML 结构,该插槽会返回该项的 itemData 数据  --><template #item="{ itemData }"><div class="item">{{ itemData }}</div></template></HFxiedHeightVirtualList>
    </template><style scoped>
    /* 4.基本样式,.item 的高度需要与上面传入的 item-height 配置的一样 */
    .item {height: 40px; /* 定高 */background-color: orange;color: white;line-height: 40px;text-align: center;margin-bottom: 8px;
    }
    </style>
    

不定高虚拟列表示例: - HFlexibleHeightVirtualList

  • 在这里插入图片描述

  • <script setup lang="ts">
    import { HFlexibleHeightVirtualList } from 'virtual-list-vue3';// -- 1.模拟长列表数据(生产一个长度为1000的,且值为不定数量的文字,为了模拟不定高的情况)
    const list = Array.from({ length: 1000 }, (_, i) => {let item = "小"if(i === 999) item = "END:"for(let i = 0; Math.floor(Math.random() * 200); i++) {item += "孔" // -- tip:注意这里不能使用英文来进行模拟,因为html的截断规则是根据单词来的,所以就会导致不会换行(了解)}return item
    }) </script><template><!-- 2. 传入对应的列表数据 --><HFlexibleHeightVirtualList :list="list"><!-- 3.通过 item 具名插槽传入对应的 item 的 HTML 结构,该插槽会返回该项的 itemData 数据  --><template #item="{ itemData }"><div class="item" >{{ itemData }}</div></template></HFlexibleHeightVirtualList>
    </template><style scoped>
    /* 4.基本样式: 不定高,根据内容适应高度 */
    .item {background-color: orange;color: white;margin-bottom: 8px;
    }
    </style>
    

Props

属性名说明类型默认值是否必传tip
list列表数据any[]-
width容器的宽度number` / `string“100%”当为 number 时以 px 为单位,当为 string 时,则会直接赋值到容器上
height容器的高度number / string“100vh”当为 number 时以 px 为单位,当为 string 时,则会直接赋值到容器上
bufferCount视区上、下额外展示的 DOM 节点数量(预加载)number6-
hiddenScrollbar是否隐藏滚动条booleanfalse-
reachBottomFn触底回调函数() => void / nullnull-
reachBottomFnDistance滚动到底部触发触底回调的触发距离(距离底部的距离)number50以 px 为单位
triggerBottomFnTime触发触底执行函数的节流时间number400以 ms 为单位

定高列表特有 Props

属性名说明类型默认值是否必传tip
itemHeight列表每一项 item 的高度number-以 px 为单位

不定高列表特有 Props

属性名说明类型默认值是否必传tip
initItemHeight列表 item 的预计高度number40预计高度,尽量要小点,可以多加载,但不能少,防止渲染不全(但也不能太过小,如 3、10…)

Props API

interface VitualListProps<T> {list: T[],bufferCount?: numberheight?: number | stringwidth?: number | stringhiddenScrollbar?: booleanreachBottomFn?: (...props: any[]) => any | nullreachBottomDistance?: numbertriggerBottomFnTime?: number
}interface FixedHeightProps<T> extends VitualListProps<T> {itemHeight: number
}interface FlexibleHeightProps<T> extends VitualListProps<T> { initItemHeight?: number
}
http://www.tj-hxxt.cn/news/114616.html

相关文章:

  • 毕业论文代做网站网址检测
  • 蓟州农家院如何做网站提高网站权重的方法
  • css 手机网站字体重叠搜索引擎营销的流程
  • 学计算机编程需要什么基础关键词优化公司如何选择
  • 网站服务器用什么好处电话号码宣传广告
  • 榆林哪里做网站竞价托管推广代运营
  • 沈阳网站制作哪家好seo招聘网
  • 湖南网站建设 真好磐石网络软文是什么文章
  • 做网站注册有哪些资源网站优化排名软件公司
  • 自己做的网站地址手机怎么打不开常州百度seo排名
  • 为知笔记 导入wordpressseo经理
  • 做网站都需要年服务费吗seo人员工作内容
  • 做网站前段用什么软件cba排名最新排名
  • 网站js下载拉新项目官方一手平台
  • wordpress怎么重置seo点击工具帮你火21星热情
  • 手机网站后台怎么进营销型网页设计
  • 张家口网站建设营销推广型网站
  • 套模板的网站为什么排名做不上去网址大全名称
  • 深圳市建设工程价格信息网广州各区正在进一步优化以下措施
  • 怎么做网站报告推广平台排名
  • 合肥网站建设搜索引擎大全
  • 网站优化内容原创seo外链推广员
  • 网站建设申请计划南宁哪里有seo推广厂家
  • 滕州建网站哪家好淘宝seo搜索排名优化
  • 长沙专业网站制作服务价格磁力链最佳的搜索引擎
  • 前端的网站重构怎么做淘宝客推广
  • 网加思维做网站推广百度关键词排名怎么靠前
  • 做网站需要营业执照吗google本地搜索
  • 找衣服款式的网站枸橼酸西地那非片功效效及作用
  • 上海营销型网站建站百度口碑