货无忧
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

51 lines
923 B

import {
onLoad,
onShow,
onHide,
onUnload,
onReachBottom,
onPullDownRefresh
} from '@dcloudio/uni-app'
const commonJs = () => {
// 页面初始化执行
onLoad((_info) => {
uni.startPullDownRefresh()
})
// 添加防抖函数
let antiShake: any = null
// 触底加载
onReachBottom(() => {
// 数据请求完毕, 不再请求
if (isEnd) return
if (antiShake) return clearTimeout(antiShake)
antiShake = setTimeout(() => {
// 当前页码 +1
details.page.current += 1
// 请求页面数据
initPage()
}, 500)
})
// 下拉刷新
onPullDownRefresh(async () => {
// 重置页码
details.page.current = 1
// 恢复结束状态
details.isEnd = false
// 清空渲染列表
details.renderList = []
const res = await initPage()
if (res) {
setTimeout(() => {
// 关闭刷新动画
uni.stopPullDownRefresh()
}, 1000)
}
})
return {}
}
export default commonJs