uni.navigateBack 返回上一页 刷新上一页数据 调用接口

//页代码  或者直接写在onShow里面   因为onShow在进入下个页面 再返回上个页面还可以触发调用 onLoad  则不行



onShow() {
			this.getListData(true);//调接口
		},



//接口

async getListData(show) {
				this.isLoading = true;

//11111111111111111111111111111111111111111111111111111
                  //重置数据不然不显示 这是关键
				if(show){
					this.listData = []
					this.page = 1
					this.pageSize = 20
				}
//这里是关键
//11111111111111111111111111111111111111111111111111111
				const res = await getLotteryDrawLog({
					page: this.page,
					pageSize: this.pageSize,
					userId: this.userData.id,
					prizeStatus: false
				})
				try {
					if (res.code === '1') {
						const list = res.data.list,
							total = res.data.total;
						if (this.page === 1) {
							this.listData = res.data.list
						} else {
							this.listData = [...this.listData, ...list];
						}
						if (this.listData.length >= total) {
							this.isMore = false;
						}
					}
				} catch (e) {
					//TODO handle the exception
				}
				this.page++;
				this.isLoading = false;
			},
//下页代码 	
// 领取抽奖红包
			async getLotteryPrize(item) {

//11111111111111111111111111111111111111111111111111111
				let pages = getCurrentPages(); // 当前页面
				let beforePage = pages[pages.length - 2]; // 前一个页面
//这里是关键
//111111111111111111111111111111111111111111111111111111

				const res = await getLotteryPrize({
					userId: this.userData.id,
					id: this.recordId,
				})
				if (res.code == 1) {
					setTimeout(() => {
//11111111111111111111111111111111111111111111111111111
						uni.navigateBack({
							delta: 1,
							success: function() {
								beforePage.$vm.init(); // 执行前一个页面的刷新
							}
						});
//这里是关键
//11111111111111111111111111111111111111111111111111111
					}, 2000)
				}
			},

你可能感兴趣的:(uniapp,微信小程序,前端)