当前位置:   article > 正文

小程序 之下拉刷新_小程序下拉刷新功能

小程序下拉刷新功能

前言

前面既然写了篇 上拉加载 ,那么就有下拉刷新,

分析

下拉刷新步骤是固定的,然而它的写法也是固定的 步骤为:

1.在配置文件中开启下拉刷新 在pages.json页面的配置对象中将 enablePullDownRefresh 位置为 true

2.在页面中监听页面下拉事件 在页面的js中,跟生命周期同级位置声明 onPullDownRefresh 函数

3.在刷新完成后关闭下拉刷新效果 有个疑问,下拉刷新,不应该是松开手后过了一会时间消失了,为何还有关闭这个效果呢?

因为这个效果消失只是在模拟器中消失,如果通过手机预览的话,会发现这个效果永远存在不会消失,所以说我们要手动的在刷新完成之后调用相应的函数关闭这个效果

  1. onPullDownfresh() {
  2. // 停止下拉刷新效果
  3. uni.stopPullDownRefresh()
  4. }

但真正的刷新就是 重新调用获取数据的方法,让页面重新渲染

实现

  1. 在 pages.json 配置文件中,为当前的 goods_list 页面单独开启下拉刷新效果:

    1. "enablePullDownRefresh": true,
    2. 哪个页面需要开启,就直接把它的false改为true就行
    1. "subPackages": [{
    2. "root": "subpkg",
    3. "pages": [{
    4. "path": "goods_detail/goods_detail",
    5. "style": {}
    6. }, {
    7. "path": "goods_list/goods_list",
    8. "style": {
    9. "onReachBottomDistance": 150,
    10. "enablePullDownRefresh": true,
    11. "backgroundColor": "#F8F8F8"
    12. }
    13. }, {
    14. "path": "search/search",
    15. "style": {}
    16. }]
    17. }]

回顾

  1. ```
  2. "onReachBottomDistance": 150,是为当前页面配置上拉触底的距离,是上拉加载里面的内容
  3. ```
  1. 监听页面的 onPullDownRefresh 事件处理函数:

    1. // 下拉刷新的事件
    2. onPullDownRefresh() {
    3. // 因为刷新后数据都重新渲染, 那我们要确保最新的数据在第一页
    4. this.queryObj.pagenum = 1
    5. this.goodsList(uni.stopPullDownRefresh)
    6. }
  2. 修改 getGoodsList 函数,接收 fn 回调函数并按需进行调用:

    1. // 获取商品列表数据的方法
    2. async getGoodsList(fn) {
    3. const { data: res } = await uni.$http.get('/api/public/v1/goods/search', this.queryObj)
    4. // 关闭
    5. // 判断是不是在下拉刷新中调用的,如果是,关闭
    6. fn && fn()
    7. if (res.meta.status !== 200) return uni.$showMsg()
    8. this.goodsList = [...this.goodsList, ...res.message.goods]
    9. this.total = res.message.total
    10. }
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/寸_铁/article/detail/1011108
推荐阅读
相关标签
  

闽ICP备14008679号