Trust
Trust
  • 发布:2018-10-25 14:23
  • 更新:2023-12-04 10:20
  • 阅读:57243

uni-app 中实现动态禁用/开启下拉刷新

分类:uni-app

首先,在 pages.json 中配置目标页面的 style->enablePullDownRefresh 为 true。

{  
  "path": "pages/index/index",  
  "style": {  
    "navigationBarTitleText": "uni-app",  
    "enablePullDownRefresh": true  
  }  
}

获取当前 Webview 窗口对象:

const pages = getCurrentPages();  
const page = pages[pages.length - 1];  
const currentWebview = page.$getAppWebview();

根据状态值来切换禁用/开启下拉刷新

currentWebview.setStyle({  
  pullToRefresh: {  
    support: !this.isSupport,  
    style: plus.os.name === 'Android' ? 'circle' : 'default'  
  }  
});  
this.isSupport = !this.isSupport;

这里调用 plus 的 API,是在条件编译下进行的。

详细的示例见附件,下载后解压拖至 HBuilderX 运行即可体验。

注意事项

  • 此功能仅在 5+App 环境下支持,因此示例中用到了条件编译。
  • pages.json 中的 页面->style->enablePullDownRefresh 必须为 true,也就是说初始化时必须是开启状态。
  • iOS上,关闭bounce回弹效果,另见bounce相关的配置和API。

参考文档:

6 关注 分享
删除这个账号 1***@qq.com siberiawolf37 睡不醒哎 2***@qq.com 1***@qq.com

要回复文章请先登录注册

5***@qq.com

5***@qq.com

如果用scroll-view , scroll-view有滚动条就不好使了...
2019-11-05 09:49
DSF

DSF

回复 9***@qq.com :
请问你解决ios下拉导航和view之间会出现空白区域这个问题了吗
2019-10-23 11:03
DSF

DSF

回复 ryc :
请问你解决ios下拉导航和view之间会出现空白区域这个问题了吗
2019-10-23 11:03
p***@163.com

p***@163.com

h5有解决的办法吗,
2019-08-14 14:25
1***@qq.com

1***@qq.com

回复 小莫快跑 :
需要真机运行
2019-08-04 22:21
1***@qq.com

1***@qq.com

回复 4***@qq.com :
需要真机运行
2019-08-04 22:20
4***@qq.com

4***@qq.com

Cannot read property '$getAppWebview' of undefined 这个怎么解决
2019-07-11 14:12
小莫快跑

小莫快跑

page.$getAppWebview is not a function这个怎么解决
2019-05-15 16:05
5***@qq.com

5***@qq.com

回复 f***@163.com :
配置里加"bounce": "none",
2019-05-09 15:27
5***@qq.com

5***@qq.com

回复 9***@qq.com :
"bounce": "none"
2019-05-09 15:27