uni-app支付宝端彻底禁掉下拉刷新效果

前情

uni-app是我比较喜欢的跨平台框架,它能开发小程序/H5/APP(安卓/iOS),重要的是对前端开发友好,自带的IDE让开发体验也挺棒的,公司项目就是主推uni-app,解决了公司一套代码发布快抖微支四端的需求

坑位

按我以往开发快抖微小程序的开发经验,我只要在page.json关闭下拉刷新,这样就可以关掉页面的下拉刷新同时页面不会有向下拉拽效果

jsx 复制代码
"pages": [
    ...
    {
      "path" : "/pages/OrderList/OrderList",
      "style" :
      {
        "navigationBarTitleText" : "订单列表",
            "enablePullDownRefresh": false,
      }
    }
    ...
]

但是实际上支付宝端还是有下拉效果,只是不会触发onPullDownRefresh生命钩子,其实此时已经关掉了下拉刷新,只是这效果容易让人误解,详见下图:

解决方案

方案1:通过pages.json配置关掉支付宝小程序的允许向下拉拽

选通过"enablePullDownRefresh": false禁掉下拉刷新效果,我们再针对支付宝做特殊配置,通过"allowsBounceVertical": "NO"禁用支付宝的向下拉拽效果,此处使用了uni-app的条件编译来实现对支付宝的特有配置,关键配置如下:

jsx 复制代码
"pages": [
    ...
    {
      "path" : "/pages/OrderList/OrderList",
      "style" :
      {
        "navigationBarTitleText" : "订单列表",
            "enablePullDownRefresh": false,
            // #ifdef MP-ALIPAY
            "allowsBounceVertical": "NO"
            // #endif
      }
    }
    ...
]

注:allowsBounceVertical 配置不是true和false,它对应的是YES(开启下拉)和NO(关闭下拉)

方案2:通过API关掉支付宝小程序的允许向下拉拽

下拉刷新效果通过pages.json下的"enablePullDownRefresh": false禁用,至于向下拉拽效果支付宝不但提供了通过pages.json配置关掉它,同时也提供了API来控制它,此处同样使用了uni-app的条件编译来实现对支付宝的单独调用一些特有的API,关键代码如下:

jsx 复制代码
"pages": [
    ...
    {
      "path" : "/pages/OrderList/OrderList",
      "style" :
      {
        "navigationBarTitleText" : "订单列表",
            "enablePullDownRefresh": false
      }
    }
    ...
]
jsx 复制代码
// #ifdef MP-ALIPAY
my.setCanPullDown({
  canPullDown: true,
})
// #endif

思考

此文主要是讲解怎么禁用下拉刷新,举一反三,如果你页面要实现下拉刷新效果,只需要增加如下配置即可,因为支付宝小程序的allowsBounceVertical 默认为YES

jsx 复制代码
"pages": [
    ...
    {
      "path" : "/pages/OrderList/OrderList",
      "style" :
      {
        "navigationBarTitleText" : "订单列表",
            "enablePullDownRefresh": false
      }
    }
    ...
]

uni-app是多端框架,但是它并没有抹平所有端的效果,对于遇到一端可以一端不行的问题,我们可以去对应小程序官网文挡查阅特有的配置,再使用条件编译来手动抹平各端的差异,uni-app的条件编辑就是解决各端差异的最有效手段,我感觉这是uni-app向跨端开发者提供的杀手锏

相关推荐
崔庆才丨静觅9 小时前
hCaptcha 验证码图像识别 API 对接教程
前端
passerby606110 小时前
完成前端时间处理的另一块版图
前端·github·web components
掘了10 小时前
「2025 年终总结」在所有失去的人中,我最怀念我自己
前端·后端·年终总结
崔庆才丨静觅10 小时前
实用免费的 Short URL 短链接 API 对接说明
前端
崔庆才丨静觅11 小时前
5分钟快速搭建 AI 平台并用它赚钱!
前端
崔庆才丨静觅11 小时前
比官方便宜一半以上!Midjourney API 申请及使用
前端
Moment11 小时前
富文本编辑器在 AI 时代为什么这么受欢迎
前端·javascript·后端
崔庆才丨静觅11 小时前
刷屏全网的“nano-banana”API接入指南!0.1元/张量产高清创意图,开发者必藏
前端
剪刀石头布啊11 小时前
jwt介绍
前端
爱敲代码的小鱼11 小时前
AJAX(异步交互的技术来实现从服务端中获取数据):
前端·javascript·ajax