因为我们做的项目是:前端 + Ios/Android 合作完成的App,那么在做消息通知时,进入消息详情,再返回列表,需要实时刷新列表, 那么有的详情是跳转ios/Android的,并且返回头部是他们的。 (常用的返回方法:uni.navigateTo()、uni.redirectTo();如果这两种不管用时,可以用下面这种返回方法刷新列表
这时我遇到两个问题: 1.从详情,返回列表,没有刷新列表 解决方法:如果你的列表方法写到onLoad() 中那么是不会刷新列表的;而是需要放到onShow() 中 2.因为列表是tab切换 ,直接在onShow 中调列表方法是会出现列表数据push重复的问题的, 解决方法:所以需要page赋值1,列表数组置空。
代码如下,包括问题1的问题
onLoad(options) {
},
onShow(){
this.page = 1
this.messageList = []
this.getAllMessage()
},
onReachBottom() {
if(this.collectionTypeFlag == 0){
if (this.loadingType == 1) {
uni.stopPullDownRefresh()
} else {
this.page = this.page + 1
this.getAllMessage()
}
}else if(this.collectionTypeFlag == 1){
if (this.loadingType == 1) {
uni.stopPullDownRefresh()
} else {
this.page = this.page + 1
this.getAllMessage()
}
}
},
methods: {
collectionTypeActive(index) {
this.collectionTypeFlag = index
if(index==0){
this.page = 1
this.messageList = []
this.loadingType = 0
this.getAllMessage()
}else if(index==1){
this.page = 1
this.messageList = []
this.loadingType = 0
this.getAllMessage()
}
},
}
|