【uniapp如何实现下拉刷新】

uniapp下拉刷新

方式一:pages.json自定义下拉刷新

pages.json配置:设置enablePullDownRefresh为true

 {
   "path": "case/index",
   "style": {
       "navigationBarTitleText": "更多案例",
       "enablePullDownRefresh": true
    }
},

page页面配置

import { onPullDownRefresh } from '@dcloudio/uni-app'
//下拉执行事件,在事件里面写你想要在下拉页面所执行的代码
const onRefresh=()=> {
    if (loadStatus.value === 'loading') return
    loadStatus.value = ''
    pageNum.value = 0
    list = []
    getList().finally(() => {
       uni.stopPullDownRefresh()
       //wx.stopPullDownRefresh()//微信小程序可这样写
    })
  }
onPullDownRefresh(() => {
  onRefresh()
})

方式二 :srcoll-view自定义下拉刷新

srcoll-view组件配置

 <scroll-view
      scroll-y
      @scrolltolower="getList"//触底加载事件,想要实现上拉加载更多可写,不想实现莫写
      refresher-enabled 
      @refresherrefresh="onRefresh" //上拉刷新触发事件
      :refresher-triggered="triggered" //刷新状态,初值设为true会立即刷新一次
></scroll-view>

事件写法举例

const triggered=ref(false) //刷新状态,初值设为true会立即刷新一次
//下拉刷新
const refresher = () => {
  if (loadStatus.value === 'loading') return
  triggered.value = true
  loadStatus.value = ''
  pageNum.value = 0
  list.value = []
  getList().finally(() => {
    triggered.value = false
  })
}
//加载数据-上拉加载更多
const getList = async () => {
  if (['loading', 'nomore'].includes(loadStatus.value)) return
  loadStatus.value = 'loading'
  pageNum.value++
  const { data, code } = await uni.Requests.myOptionOrderList({
    pageNum: pageNum.value,
    pageSize: 20
  })
  if (code === 0) {
    list.value = list.value.concat(data.content)
    if (data.totalPages === pageNum.value || data.totalPages === 0)
      loadStatus.value = 'nomore'
  } else {
    pageNum.value--
  }
  if (loadStatus.value !== 'nomore') loadStatus.value = 'loadmore'
}

  • 7
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值