uni-app微信小程序上拉加载,下拉刷新

pages.json配置官网链接
onPullDownRefresh、onReachBottom函数跟生命周期同级

javascript 复制代码
data() {
	return {
		orderList:[],
		total: null, //总共多少条数据
		page: 1,
		pageSize: 10,
	}
},
onLoad() {
	
},
mounted(){
	this.getInfo()
},
methods:{
	getInfo(){
		API.getListxxx().then(res => {
			const newlist = result.contents
			this.orderList.push(...newlist)
			this.total = result.totalCount
		})
	},
	//通过按钮点击触发下拉刷新
     fresh(){
          uni.startPullDownRefresh()
      }
},
//距离底部100px时(page中配置过),触发该事件页面滚动到底部的事件(不是scroll-view滚到底)
onReachBottom() {
	let allTotal = this.page * this.pageSize
	if (allTotal < this.total) {
		//当前条数小于总条数 则增加请求页数
		this.page++;
		this.getInfo() //调用加载数据方法
	} else {
		// console.log('已加载全部数据')
	}
},
//下拉后触发的事件
onPullDownRefresh() {
	this.orderList = []
	//调用获取数据方法
	this.getInfo()
	setTimeout(() => {
		//结束下拉刷新
		uni.stopPullDownRefresh();
	}, 1000);
},

onReachBottom (上拉时到底部多少距离触发的事件) 官方语言:页面滚动到底部的事件。可在pages.json 里定义具体页面底部的触发距离onReachBottomDistance,比如设为50,那么滚动页面到距离底部50px时,就会触发onReachBottom事件。

javascript 复制代码
//pages.json
{
	"path": "pages/index/index",
	"style": {
		"enablePullDownRefresh": true,
		"onReachBottomDistance":100
	}
},

也可以每次回到页面就调用下拉刷新(看需求定)

css 复制代码
onShow() { //没次回到页面都会调用下拉刷新
  uni.startPullDownRefresh()
},
onLoad() { //页面最开始调用
  uni.startPullDownRefresh()
},

下拉刷新

自定义配置,在 App 平台 下可以自定义部分下拉刷新的配置 page->style->app-plus->pullToRefresh。

代码示例

css 复制代码
{
    "pages": [
        {
            "path": "pages/index/index", //首页
            "style": {
                "app-plus": {
                    "pullToRefresh": {
                        "support": true,
                        "color": "#ff3333",
                        "style": "default",
						"offset":"260px",
						"height":"50%",
                        "contentdown": {
                            "caption": "下拉可刷新自定义文本"
                        },
                        "contentover": {
                            "caption": "释放可刷新自定义文本"
                        },
                        "contentrefresh": {
                            "caption": "正在刷新自定义文本"
                        }
                    }
                }
            }
        }
    ]
}
相关推荐
IT策士20 分钟前
第45篇 k8s之实战:将 Web 应用迁移到 Kubernetes(下)
前端·容器·kubernetes
你怎么知道我是队长42 分钟前
CRC校验C语言实现-CRC8、CRC16、CRC16的直接计算法、查表法
c语言·前端·javascript
Rain5091 小时前
mini-cc 终端 UI:用 React 写 CLI 是什么体验
前端·人工智能·react.js·ui·架构·前端框架·ai编程
wu8587734571 小时前
向量数据库不是银弹:从枚举漏检到 ReACT 多轮召回的实践路径
前端·数据库·react.js
古怪今人1 小时前
[前端]HTML盒模型与尺寸,标准文档流,块级元素、内联元素和行内块,CSS选择器
前端·css
小雨下雨的雨1 小时前
基于鸿蒙PC Electron框架技术完成的表单验证技术详解
前端·javascript·华为·electron·前端框架·鸿蒙
提子拌饭1332 小时前
饮料含糖量查询应用 - 鸿蒙PC用Electron框架完整实现
前端·javascript·华为·electron·前端框架·鸿蒙
JustHappy2 小时前
古法编程秘籍(五):什么是进程和线程?从软件到 CPU 的一次完整旅程
前端·后端·代码规范
爱编程的小金2 小时前
前端请求库的下一个进化方向:从 Promise 到策略化
前端·alova·前端请求库·请求策略
hsg772 小时前
简述:Jensen Huang‘s Footsteps网站全内容分析
前端·javascript·数据库