uniapp小程序局部下拉刷新

html代码: 

         refresher-enabled="true" //开启下拉刷新
         :refresher-triggered="triggered" // triggered控制开启和关闭下拉刷新.
         :refresher-threshold="100"
         refresher-background="#FFF"
         @refresherpulling="onPulling"
         @refresherrefresh="onRefresh" 
         @refresherrestore="onRestore"
         @refresherabort="onAbort"

<scroll-view class="scroll-container" scroll-y="true" 
         refresher-enabled="true"
         :refresher-triggered="triggered"
		 :refresher-threshold="100"
         refresher-background="#FFF"
         @refresherpulling="onPulling"
		 @refresherrefresh="onRefresh" 
         @refresherrestore="onRestore"
         @refresherabort="onAbort">
</scroll-view>

js代码如下: 

let triggered = ref(false);

//下拉没有松手执行此事件
	const onPulling = () => {
		triggered.value = true;
	};

//大于阀值并且松手了会触发刷新(下拉刷新要执行的事件写在这里)
	const onRefresh = () => {
		setTimeout(() => {
			triggered.value = false;
		}, 600);
     //下拉刷新执行的事件
		getList()
		getClassifyList()
		getBanner()
	};

//这是你下拉超过阀值然后没有松手又滑回去小于阀值,只做状态显示修改不触发更新
	const onRestore = () => {
		setTimeout(() => {
			triggered.value = false
		}, 100)
	};

//中断下拉,也是只做状态修改
	const onAbort = () => {
		setTimeout(() => {
			triggered.value = false
		}, 100)
	};

//页面最大的盒子,也就是父级
.container {
		padding-bottom: 200rpx;
		color: #333;
		/* overflow: scroll; */
		display: flex;
		flex-direction: column;
		height: 100vh;
		overflow: hidden
	}
// 直接设置flex:1高度依然不会自适应,需要添加一个默认高度1px就可以自适应了。
.scroll-container {
		flex: 1;
		overflow: scroll;
		height: 1px;
	}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值