項(xiàng)目場景:.
uniapp 微信小程序項(xiàng)目,在某個(gè)頁面執(zhí)行某個(gè)方法后返回上一頁,并刷新上一頁的數(shù)據(jù)
在用戶列表頁面點(diǎn)擊新增按鈕,跳轉(zhuǎn)至新增用戶頁面,新增成功后返回用戶列表頁面,并在頁面中刷新當(dāng)前數(shù)據(jù),要顯示剛剛添加成功的那條數(shù)據(jù)
問題描述
首先嘗試直接用 uni.navigateTo
跳轉(zhuǎn)回去,但是業(yè)務(wù)需求中,會(huì)有兩個(gè)入口進(jìn)入新增頁面,這樣就導(dǎo)致新增成功后只能跳到一個(gè)頁面去
后來直接使用了uni.navigateBack({delta: 1})
頁面可以成功回到起始頁面,但是起始頁面數(shù)據(jù)不刷新文章來源:http://www.zghlxwxcb.cn/news/detail-509995.html
實(shí)現(xiàn)方案:
在起始頁面中把起始頁面獲取數(shù)據(jù),刷新的方法寫在 init() 方法當(dāng)中,在新增頁面,新增成功后,獲取上一個(gè)頁面對象
在頁面跳回上一頁的時(shí)候,執(zhí)行上一個(gè)頁面的 init() 方法文章來源地址http://www.zghlxwxcb.cn/news/detail-509995.html
// 起始頁面
methods: {
init() {
// 頁面數(shù)據(jù)獲取的代碼放在 init 當(dāng)中
this.customerList = [];
this.getCusromerData();
},
}
// 新增頁面
addSite() {
let pages = getCurrentPages(); // 當(dāng)前頁面
let beforePage = pages[pages.length - 2];
this.$refs.uForm.validate(valid => {
if (valid) {
SiteAPI.create({
...this.site
}).then(res => {
this.$toast(res.msg)
if (res.msg == '操作成功') {
setTimeout(() => {
uni.navigateBack({
delta: 1,
success: function() {
beforePage.$vm.init(); // 執(zhí)行前一個(gè)頁面的init 來實(shí)現(xiàn)刷新
}
});
}, 1000);
} else {
return
}
}).catch(err => {})
} else {}
});
},
到了這里,關(guān)于uniapp 之 uniapp 微信小程序項(xiàng)目,返回上一頁,并刷新上一頁的數(shù)據(jù)的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!