uni-app上拉加载 下拉刷新
父组件中使用下拉刷新onPullDownRefresh,上拉加载 onReachBottom,分别调用子组件appear的updatePage,pulldatePage方法。
<!-- itemlist切换 -->
<!-- 我发现的 -->
<discoverList v-show="title === '我发现的'" ref="discover-list" @discoverLength='discoverLength'></discoverList>
<!-- 待我整改 -->
<pendingGufen v-show="title === '待我整改'" ref="pendingGufen"></pendingGufen>
<!-- 待我验证 -->
<verify-list v-show="title === '待我验证'" ref="verify-list"></verify-list>
<!-- 延期审核 -->
<audit-list v-show="title === '延期审核'" ref="audit-list"></audit-list>
<!--重点关注 -->
<!-- <attention v-show="title === '重点关注'"></attention> -->
**......**
//父组件
async onPullDownRefresh() {
if (this.text == '我的安全') {
await this.$refs.mySecurity.getAA0001();
}
if (this.text == '隐患排查' && this.getOrgFlag == 'BGTA00') {
await this.$refs.appear.updatePage();
}
uni.stopPullDownRefresh();
},
async onReachBottom(){
if (this.text == '隐患排查' && this.getOrgFlag == 'BGTA00') {
await this.$refs.appear.pulldatePage();
}
},
子组件apper,由于模块太多,在此页面又划分了其他子组件(暂且称之为孙组件),调用孙组件pullDownRefresh,pullUpRefresh方法。
//子组件apper
async updatePage() {
//刷新列表
if (this.title === '待我验证') {
await this.$refs['verify-list'].pullDownRefresh();
}
if (this.title === '延期审核') {
await this.$refs['audit-list'].pullDownRefresh();
}
if (this.title === '我发现的') {
await this.$refs['discover-list'].pullDownRefresh();
}
if (this.title === '待我整改') {
await this.$refs['pendingGufen'].pullDownRefresh();
}
},
async pulldatePage() {
//刷新列表
if (this.title === '待我验证') {
await this.$refs['verify-list'].pullUpRefresh();
}
if (this.title === '延期审核') {
await this.$refs['audit-list'].pullUpRefresh();
}
if (this.title === '我发现的') {
await this.$refs['discover-list'].pullUpRefresh();
}
if (this.title === '待我整改') {
await this.$refs['abarbeitung'].pullUpRefresh();
}
},
//孙组件
// 监听页面下拉刷新
async pullDownRefresh() {
console.log('监听页面下拉刷新')
this.AD01.length = 0;//数据
await this.getAD01();//重新调用页面数据接口,刷新数据
if (this.option.renderer == 'area2') uni.showToast({
title: '刷新成功',
icon: 'none'
});
uni.stopPullDownRefresh();//停止刷新
},
//上拉加载
async pullUpRefresh() {
if (this.AD01.status == 'noMore') return;
await this.getAD01();
},