先说使用场景,一次加载很多数据造成小程序卡顿的问题 ,找了好多都没有好的解决办法,要么太过复杂,然后研究了两天通过简单的办法实现,先根据数量把高度撑开,然后根据滚动位置渲染指定的数据就可以了, 性能简直不要太好。先看效果(实际业务效果要好于测试效果)。
小程序列表性能
DataManage.js 封装
function DataManage() {
//**********************************************************数据
let Data = {
dataSource: [],//数据源
heatData: [] //热数据(需要渲染的数据)
}
//**********************************************************配置
let BaseConfig = { //基本配置信息(不需要覆盖的配置)
triggerTime: 0, //滚动时间
triggerTop: 0, //滚动top位置
voidViewHeight: 0,//虚拟View高度
pagingIndex: -1, //切换分页索引
dataEnd: -1 //数据结束范围
}
let PagingConfig = { //分页配置(可改变)
pageSize: 50, //分页大小
cardHeight: 55, //卡片高度