【Uniapp】关于实现下拉刷新的三种方式

在小程序、h5等地方中,常常会用到下拉刷新这个功能,今天来讲解实现这个功能的三种方式:全局下拉刷新,组件局部下拉刷新,嵌套组件下拉刷新。

全局下拉刷新

这个方式简单,性能佳,最推荐,以下为步骤:

  • 配置pages.json(在需要该功能的页面设置对应属性)

{
    "pages": [
        {
            "path": "pages/index/index",
            "style": {
                "enablePullDownRefresh": true,
               // 下拉 loading 的样式,可选值为 'dark' 或 'light'
                "backgroundTextStyle": "dark"
            }
        }
    ]
}
  • 在页面中监听下拉刷新时间(使用onPullDownRefresh生命周期函数)



scroll-view 组件局部下拉刷新

  • scroll-view 组件中有自定义下拉刷新的属性以及相关方法可以直接使用,但是性能不如全局下拉刷新,且scroll-view 组件停止下拉刷新的方法可能有兼容问题,会使用不了,此时可以用refressher-triggered属性控制下拉刷新的状态。
  • 注意:scroll-view是区域滚动,不会触发页面滚动,无法触发pages.json配置的下拉刷新、页面触底onReachBottomDistance、titleNView的transparent透明渐变。

【Uniapp】关于实现下拉刷新的三种方式_第1张图片

【Uniapp】关于实现下拉刷新的三种方式_第2张图片

使用示例



嵌套组件中的下拉刷新

场景:需要在子组件触发下拉刷新功能,但是在pages.json中只能配置父页面的下拉刷新属性

  • 父组件配置全局下拉刷新

在page.json中为父页面配置enablePullDownRefresh为true,并在父组件的onPullDownRefresh生命周期函数中调用子组件的刷新方法。



  • 子组件定义刷新方法




欢迎指正!

你可能感兴趣的:(【Uniapp】笔记,uni-app,前端)