微信小程序使用scroll-view自定义下拉刷新

前言:

很多朋友在进行小程序开发时,需要做下拉刷新功能,大部分人是直接使用系统的下拉刷新功能的。

  1. 在 .json文件中设置
{
  "enablePullDownRefresh": true
}
  1. 使用onPullDownRefresh()监听用户下拉操作,实现刷新操作;
    在这里插入图片描述
  2. 也可以通过wx.startPullDownRefreshwx.stopPullDownRefresh触发和关闭页面下拉刷新;

一般人使用该方法就可以做出下拉刷新的效果,但是这个方法也有其缺点:

  1. 没有办法自定义动画效果。
  2. 该下拉刷新只能出现在最顶部,例如:
    在这里插入图片描述
    当下拉刷新需要在全部、待付款、待发货、待收货这几个tab下面时,系统的下拉刷新就无法满足需要,我们就需要使用scroll-view来自定义下拉刷新。

用scroll-view内refresher-enabled属性开启自定义刷新

属性类型默认值必填开启自定义下拉刷新最低版本
refresher-enabledbooleanfalse开启自定义下拉刷新2.10.1
refresher-thresholdnumber45设置自定义下拉刷新阈值2.10.1
refresher-default-stylestring“black”设置自定义下拉刷新默认样式,支持设置 black 、 white 、 none, none 表示不使用默认样式2.10.1
refresher-backgroundstring“#FFF”设置自定义下拉刷新区域背景颜色2.10.1
refresher-triggeredbooleanfalse设置当前下拉刷新状态,true 表示下拉刷新已经被触发,false 表示下拉刷新未被触发2.10.1
bindrefresherpullingeventhandle自定义下拉刷新控件被下拉2.10.1
bindrefresherrefresheventhandle自定义下拉刷新被触发2.10.1
bindrefresherrestoreeventhandle自定义下拉刷新被复位2.10.1
bindrefresheraborteventhandle自定义下拉刷新被中止2.10.1

实现下拉刷新方法

wxml设置:

    <scroll-view scroll-y style="width: 100%;height:100%;" refresher-enabled="{{true}}" refresher-threshold="{{100}}" refresher-default-style="black" 
        refresher-background="white" refresher-triggered="{{triggered}}" bindrefresherrefresh="onScrollRefresh">
    </scroll-view>

refresher-enabled设置为true表示启用自定义下拉刷新,refresher-threshold为100表示下拉刷新的下拉高度为100, refresher-default-style选black,这个样式是默认的,和系统的也一致,refresher-background背景颜色选白色,refresher-triggered表示下拉刷新状态,onScrollRefresh是下拉刷新事件。

Js设置:

  /**
   * 页面的初始数据
   */
  data: {
    triggered: false,
  },
  //用户下拉动作
  onScrollRefresh: function () {
    var that=this;
    setTimeout(function(){
      that.setData({
        triggered: false,
      })
    },2000);
  },

当下拉时triggered会自动变为true,2000毫秒后手动将triggered变为false下拉刷新就会弹回去。

最后效果:

在这里插入图片描述
这样就可以做出简易的自定义下拉刷新了,朋友们可以自己尝试一下自定义下拉刷新,尝试更多功能。

  • 7
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
scroll-view组件可以用于实现自定义下拉刷新效果。通过设置scroll-view的属性,可以实现自定义下拉刷新动画和触发事件。在wxml部分,可以设置scroll-viewrefresher-enabled属性为true,表示开启下拉刷新功能。同时,可以设置refresher-threshold属性来定义下拉刷新的触发阈值,当下拉距离超过该阈值时,触发下拉刷新事件。还可以设置refresher-triggered属性来控制下拉刷新的状态,当该属性为true时,表示正在进行下拉刷新。在触发下拉刷新事件时,可以通过bindrefresherrefresh属性绑定一个事件处理函数,用于处理下拉刷新的逻辑。通过在该事件处理函数中,可以自定义下拉刷新的动画效果和数据更新操作。\[2\]\[3\] #### 引用[.reference_title] - *1* [scroll-view实现自定义下拉刷新](https://blog.csdn.net/qq_40666120/article/details/108284680)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [微信小程序scroll-view实现自定义刷新](https://blog.csdn.net/weixin_42883683/article/details/123920355)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值