赞
踩
本文会基于scroll view 实现下拉刷新效果,在下拉的时候会进入loading状态。
效果如上图所示,在下拉到底部时候,会出现loading条,在处理完成后loading条消失。
- <scroll-view
- scroll-y
- style="height:400px;"
- lower-threshold="{{10}}"
- scroll-top="{{scrollTop}}"
- bind:scrolltolower="scrollToLower"
- refresher-enabled="true"
- refresher-default-style="black"
- refresher-threshold="{{100}}"
- refresher-triggered="{{triggered}}"
- bindrefresherrefresh="onRefresh">
- <view style="height: 500px;">Hello, world</view>
- </scroll-view>
scroll-view 配置 refresher-enabled开启加载效果。
lower-threshold 和bind:scrolltolower对应滚动到底部触发事件。
refresher相关配置为加载效果配置,scrollToLower函数会将triggered设置为true,当triggered为true时,会触发bindrefresherrefresh事件。
- Page({
- data: {
- triggered: false, // 加载中状态
- scrollTop: 0
- },
- onReady: function () {
- console.log('ready')
- },
- scrollToLower: function () {
- if (this.data.triggered) {
-
- return;
- }
- console.log('scrollToLower')
- this.setData({
-
- triggered: true // 开启加载
- })
- },
- //
- onRefresh: function () {
- console.log('onRefresh')
- this.setData(
- {
- scrollTop:0 // 滚到首部,查看加载效果
- }
- )
- // 模拟请求回数据后 停止加载
- setTimeout(() => {
- this.setData({
- triggered: false, // 关闭加载
- scrollTop: 0
- });
- }, 3000);
- }
-
-
- })
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。