不定高度虚拟列表加分页

本文探讨如何在JavaScript和Vue.js中创建一个不定高度的虚拟列表,并结合分页功能,提高大型数据集的浏览性能。通过虚拟滚动,只渲染可视区域内的列表项,大大减少了内存和CPU的使用,提升用户体验。
摘要由CSDN通过智能技术生成
<template name="purchasingRequisition">
	<view style="background-color:#f2f2f2;" class="container" :style="{height: `${screenHeight}px`}">
		<cu-custom :bgColor="NavBarColor" :isBack="true">
			<block slot="content">{
  {title}}</block>
			<block slot="backText">返回</block>
		</cu-custom>
		<view class="uni-padding-wrap uni-common-mt">
			<uni-segmented-control :current="current" :values="items" :style-type="styleType"
				:active-color="activeColor" @clickItem="onClickItem" />
		</view>
		<scroll-view :scroll-y="true" class="scroll-view" @scrolltolower="onScrollReachBottom" @scroll="onScroll">
			<view class="content" :style="{position: 'absolute', transform: `translate3d(0, ${translateY}px, 0)`}">
				<uni-list v-if="current === 0" style="width: 100%;" class="scroll-list">
					<uni-list-item v-for="(item,index) in visibleList" :data-index="item.index" class="listItem" link="navigateTo" :key="index" @click="goDetailPage(item.id,item.sysOwnerCpy)">
						<template #body>
							<!-- #ifdef MP-WEIXIN -->
							<view class="list-item__item-wrap">
							<!-- #endif -->
								<view class="leftText">
									<view class="flow-key view">{
  {item.flowKey+':'+item.index}}</view>
									<view class="view">{
  {item.sysOwnerCpy}}</view>
									<view class="view">操作员:{
  {item.creator}}</view>
								</view>
								<view class="rightText">
									<view class="view time">{
  {item.createDate}}</view>
									<view class="money">¥100</view>
									<view>经办人:大山里</view>
								</view>
							<!-- #ifdef MP-WEIXIN -->
							</view>
							<!-- #endif -->
						</template>
					</uni-list-item >
					<uni-load-more :status=
前端使用分页高度动态虚拟列表进行渲染页面可以提高页面性能和用户体验。以下是一个基本的实现步骤: 1. 分页:在数据量较大的情况下,可以将数据分页展示,每页显示一定数量的数据。可以通过后端接口获取数据,并将数据分页返回给前端。 2. 高度动态虚拟列表:在长列表中,只渲染可视区域内的数据,未进入可视区域的数据不渲染。可以通过监听滚动事件,计算当前可视区域内的数据,进行动态渲染。 具体实现步骤如下: 1. 分页: - 在前端页面上添分页器,可以使用第三方分页组件,也可以自己实现。 - 在分页器中定义每页显示的数据数量,以及当前页码等信息。 - 在后端接口中,根据当前页码和每页显示的数据数量,返回对应的数据。 2. 高度动态虚拟列表: - 在前端页面上添列表容器,并设置容器的高度和滚动条样式。 - 在滚动事件中,计算当前可视区域的数据的索引范围。 - 根据索引范围,动态渲染当前可视区域内的数据。 - 在列表容器外部添一个虚拟容器,用于占据未进入可视区域的数据的高度,以保证滚动条的正确渲染。 需要注意的是,在实现高度动态虚拟列表时,需要计算列表容器的高度、每个数据项的高度等信息,以保证滚动条的正确渲染。同时,也需要对滚动事件进行节流处理,以提高性能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值