背景:

第七次人口普查项目使用是微信小程序原生框架,组件是根据用户需求由项目组前端组组长封装完成的。采集小程序正式登记首页列表页面,根据腾讯老哥在sentry上的监控可以看出,列表页面前端性能比较差,主要表现在一些较老机型,例如:OPPOR9这些较老的机型在页面渲染数据量较大的时候出现白屏、卡顿等问题。

针对以上问题,腾讯老哥提供了一个解决方案,主要是采用微信小程序官方提供的 recycle-view 组件优化列表页面性能,提升用户使用体验。

下面将还原需求场景,并且演示 recycle-view 组件的用法。

1.下载 recycle-view 组件

npm install --save miniprogram-recycle-view

项目的所有组件统一放在 components 文件夹下,将 miniprogram_dist 文件夹下的文件放在小程序项目的 components 文件夹下的 recycle-view 文件夹下。

2.使用 recycle-view 组件

页面中引入组件,在对应文件的 json 文件中填写文件路径:

{  "usingComponents": {    "recycle-view": "../../components/recycle-view/recycle-view",    "recycle-item": "../../components/recycle-view/recycle-item"  }

3.在WXML中使用

      {{item.idx+1}}. {{item.title}}    

注解:

height// recycleView的高度,可以是固定值,因业务需求博主这里是变量bindscrolltolower// recycle-view 组件自定义事件,判断是否滚动到底部scroll-with-animation// 是否开启滚动动画

4.recycle-view 配置

onLoad: function (options) {const ctx = createRecycleContext({      id: 'recycleId',      dataKey: 'formalList',      page: this,      itemSize: function (item, index) {        return {          width: systemInfo.windowWidth,          height: 70        }      }  } }

5.recycle-view 自定义方法

onPageScroll: function () {}, // 一定要留一个空的onPageScroll函数scrollToLower: function (e) {    if (this.isScrollToLower) return    this.isScrollToLower = true    this.page = this.page + 1    const {formalList, isScrollToLower} = this.getFormalList(true)    this.ctx.append(formalList, () => {      this.isScrollToLower = isScrollToLower    })  }

小结:

本篇文章主要是讲博主可以使用一次 recycle-view 组件优化长列表的过程,可能很多人看到后会一头雾水,新手还请借鉴“微信小程序扩展组件长列表优化官方文档”。长列表优化还有哪些解决方案?还请有知道的大佬评论留言给出见解。

传送门:https://developers.weixin.qq.com/miniprogram/dev/extended/component-plus/recycle-view.html

判断 小程序 是否 滚动到页面底部 scrolltolower_微信小程序长列表性能优化——recycle-view相关推荐

  1. 小程序内嵌h5页面分享_微信小程序webview内页面分享

    因为项目原因,之前在微信小程序内部使用 webview 嵌套了 h5 页面,现在要添加一个新的功能,用户在哪个页面进行了分享,被分享的用户从链接进来就跳转到哪个分享页面. 先了解一下 web-view ...

  2. javascriptjquery 判断滚动到页面底部

    js 判断滚动到页面底部 CreateTime--2018年4月14日10:13:07 Author:Marydon 1.使用场景: 滚动到屏幕底部,触发加载分页数据请求(qq空间,手机端) 2.代码 ...

  3. 用Javascript滚动到页面底部,并能正确判断出页面已到底部的方法

    现在的页面大部分都是通过Js渲染来显示页面的,也就是如果不滚动到页面底部就无法获取整个页面的HTML源码,如果通过CURL等抓取网页那么基本上抓取到都是一堆javascript代码. 所以就有了web ...

  4. 滚动到页面底部自动加载内容

    上网时经常会看到许多酷炫的网页,其中给我印象较深刻的是鼠标滚动到页面底部时会自动加载内容,一直都很好奇是怎么样做到的,于是自己也尝试着写了一下. 先上个完整代码吧: <!DOCTYPE html ...

  5. C语言界面列表的滑动效果,jQuery+ajax实现滚动到页面底部自动加载图文列表效果(类似图片懒加载)...

    本文实例讲述了jQuery+ajax实现滚动到页面底部自动加载图文列表效果.分享给大家供大家参考,具体如下: /p> "http://www.w3.org/TR/xhtml1/DTD/ ...

  6. 小程序也能接广告了,微信小程序广告位投放指南!

    小程序也能接广告了,微信小程序广告位投放指南! 3月15日消息,据爆料,微信已经开始秘密测试在小程序中投放广告,并且流传出了一份<微信小程序广告位投放指引>,意味着微信小程序已经准备开启广 ...

  7. 《微信小程序开发实战》学习笔记chapter1微信小程序人门

    Chapter01 微信小程序入门 1. 微信小程序介绍 1.1 什么是微信小程序 微信小程序是腾讯于2017年1月19日推出的一种不需要安装即可在微信平台上使用的应用.微信小程序和微信的原生功能应用 ...

  8. 微信小程序使用百度api获取天气信息 —— 微信小程序教程系列(16)

    之前已经介绍过,如何使用百度地图api来获取地理位置信息 微信小程序的百度地图获取地理位置 -- 微信小程序教程系列(15) 下面介绍使用百度api来获取天气信息. 1> 第一步:先到百度开放平 ...

  9. 微信小程序之仿淘宝分类入口 —— 微信小程序实战商城系列(2)

    分类入口,已经成为了商城项目必须的布局之一,这里以仿照淘宝的分类入口来做案例 下图红框部分,就是本文重点讲解部分,另外本文并没有写点击某个入口跳转页面. 如需学习页面跳转的同学,可以参考此文 微信小程 ...

最新文章

  1. anaconda的scikit-learn报错It seems that scikit-learn has not been built
  2. 4.1 matlab二维曲线绘图方法
  3. 解决xtraFinder在EI下不能使用问题
  4. 【IT资讯】华为“鸿蒙”所涉及的微内核究竟是什么
  5. mvc4 html.pager,MVC分页之MvcPager使用详解
  6. 跳过堡垒机,一键登陆
  7. OpenCV2:Mat介绍及常见用法
  8. CCF NOI1052 Self-Numbers
  9. matlab 求解线性规划问题
  10. Android开发者应该深入学习的10个开源应用项目[转]
  11. Redis命令回溯方案
  12. ESlint 配置从0到1 (二)
  13. Exchange 2016与国内版O365混合部署(4):配置Exchange 公网证书
  14. 使用mysql5.7.10
  15. iphone11屏比例_iphone11pro屏幕尺寸比例
  16. bat 脚本操作注册表
  17. DL | DeepDream过程和原理概要
  18. 传奇服务器脚本文件在哪个文件夹,传奇私服的GM命令在哪个文件夹里?
  19. 淘宝开店不看这个,难怪你不挣钱!
  20. 纠正你读错的电脑英文词汇(程序员真的可以看看)

热门文章

  1. maven与spring_与Spring和Maven签约首个SOAP服务
  2. java方法重载和重载方法_Java 8的方法参考进一步限制了重载
  3. java处理注释_Java注释处理器
  4. java基准测试_星期五基准功能Java
  5. 成为Java流大师–第5部分:将联接的数据库表转换为流
  6. OCA第6部分中的Java难题
  7. javafx_JavaFX技巧4:总结
  8. midlet_如何在J2ME中创建MIDlet
  9. github上java项目_GitHub上10,000个最受欢迎的Java项目-以下是他们使用的顶级库
  10. 为什么Spring的健康状况会再次下降,下降,上升,上升,上升和下降?