• 【uni-app从入门到实战】下拉刷新、上拉加载


    下拉刷新

    监听下拉刷新:onPullDownRefresh

    页面生命周期 的官方文档中有 onPullDownRefresh,它是用来监听用户下拉动作,一般用于下拉刷新

    我们需要在 pages.json 中 pages 配置项中增加 enablePullDownRefresh,这样就可以单独给这个页面添加下拉刷新
    在这里插入图片描述
    或者修改 page.json 中的 globalStyle,增加 enablePullDownRefresh这样是全局增加了下拉刷新
    在这里插入图片描述
    根据 onPullDownRefresh 官方文档 的介绍,我们在代码中使用下。新建 list/list.vue,在 pages.json 设为首页,同时增加 enablePullDownRefresh 为 true

    在这里插入图片描述
    list.vue 代码如下:

    <template>
    	<view>
    		<view>列表页view>
    		<view v-for="item in list">
    			{{item}}
    		view>
    	view>
    template>
    
    <script>
    	export default {
    		data() {
    			return {
    				list: ['Python', 'C', 'Java', 'C++', 'C#', 'Visual Basic', 'JavaScript']
    			}
    		},
    		onPullDownRefresh() {
    			setTimeout(()=>{
    				this.list = ['PHP才是世界上最好的语言', 'Python','C', 'Java', 'C++', 'C#', 'Visual Basic']
    				uni.stopPullDownRefresh()
    			},2000)
    		}
    	}
    script>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24

    我们下拉刷新时延迟了两秒刷新数据,当更新完数据,可以调用uni.stopPullDownRefresh()来停止当前页面下拉刷新。
    在这里插入图片描述

    uni.startPullDownRefresh(OBJECT)

    我们也可以调用 api 来进行下拉刷新,可以使用uni.startPullDownRefresh(OBJECT)开始下拉刷新,调用后触发下拉刷新动画,效果与用户手动下拉刷新一致

    我们页面上增加一个按钮,并增加点击事件,调用这个 api 即可

    <template>
    	<view>
    		......
    		<view><button @click="pullSown">点击按钮下拉刷新button>view>
    	view>
    template>
    
    <script>
    	export default {
    		data() {
    			return {
    				...
    			}
    		},
    		onPullDownRefresh() {
    			...
    		},
    		methods:{
    			pullSown(){
    				uni.startPullDownRefresh()
    			}
    		}
    	}
    script>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24

    上拉加载

    页面生命周期 的官方文档中有 onReachBottom,它是页面滚动到底部的事件(不是scroll-view滚到底),常用于下拉下一页数据

    pages.json 的 globalStyle 配置项中有onReachBottomDistance,它用来设置页面上拉触底事件触发时距页面底部距离,单位只支持px,默认是 50px,我们可以修改为 100
    在这里插入图片描述
    修改 list.vue,为了填满页面,可以给每个 item 增加一个高度

    <template>
    	<view>
    		<view>列表页view>
    		<view class="box-item" v-for="item in list">
    			{{item}}
    		view>
    		......
    	view>
    template>
    
    <script>
    	export default {
    		data() {
    			return {
    				......
    			}
    		},
    		onPullDownRefresh() {
    			......
    		},
    		onReachBottom() {
    			this.list = [...this.list,...['上拉加载数据1','上拉加载数据2','上拉加载数据3']]
    		}
    		......
    	}
    script>
    
    <style>
    	.box-item{
    		height: 100px;
    		line-height: 100px;
    	}
    style>
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34

    在这里插入图片描述

  • 相关阅读:
    ADC噪声系数 —— 一个经常被误解的参数
    【TensorFlow】环境配置-----TensorFlow 安装与配置
    图书管理系(附源码PPT)
    count(1)、count(*)、count(id)、count(name)区别
    深入了解vue2没有在data中定义的属性非响应式的问题
    USB母座引脚定义
    创新案例|香氛DTC品牌Scentbird从0到月收百万美元的4大增长运营策略
    MySQL绕过WAF实战技巧
    STM32F1与STM32CubeIDE编程实例-PWM驱动蜂鸣器生产旋律
    【数据结构】栈和队列
  • 原文地址:https://blog.csdn.net/u010356768/article/details/126362545