当前位置:首页 > uniapp > 正文内容

uniApp实现navigateBack返回修改前一页面数据(支持H5、APP、小程序)

关中浪子3年前 (2021-02-08)uniapp1675
【腾讯云】2核2G4M云服务器新老同享99元/年,续费同价
找梯子最重要的就是稳定,这个已经上线三年了,一直稳定没有被封过,赶紧下载备用吧!

前言:

官方有推荐用VUEX实现此类需求的,但是目前不太了解,先分享下目前的解决方案,之后熟悉了再更新下。

1、H5和APP/小程序的解决方案是不一样的,虽然都是通过getCurrentPages,但打印出来的前一页面的结构是不同的。
2、如果有问题的话打印prevPage仔细看下。

H5

getAddress(e){
if(this.isGetAddress == 1){
let index = e.currentTarget.dataset.index var pages = getCurrentPages();
var currPage = pages[pages.length - 1];   //当前页面
var prevPage = pages[pages.length - 2];  //上一个页面
//将前一页的address和address_id修改为当前选中的
prevPage._data.address = this.addressLists[index].address
prevPage._data.address_id = this.addressLists[index].id //因为修改的是data里面的绑定数据,所以返回后页面数据会直接显示修改后的
uni.navigateBack()
}},

APP/小程序

getAddress(e){
if(this.isGetAddress == 1){
let index = e.currentTarget.dataset.index var pages = getCurrentPages();
var currPage = pages[pages.length - 1];   //当前页面
var prevPage = pages[pages.length - 2];  //上一个页面
// console.log(prevPage)
// 按照打印结构这样赋值虽然成功但页面数据不会修改// prevPage.data.$root[0].address = this.addressLists[index].address// prevPage.data.$root[0].address_id = this.addressLists[index].id
prevPage.setData({
selectedAddress : this.addressLists[index].address,
selectedAddressID : this.addressLists[index].id })
uni.navigateBack()
}
},

//前一页的onShow方法,把setData的数据赋值到当前页面绑定的变量上
onShow(e) {
let pages = getCurrentPages();
let currPage = pages[pages.length-1];
if(currPage.data.selectedAddress==undefined || currPage.data.selectedAddress==''){

}else{
this.address = currPage.data.selectedAddress
this.address_id = currPage.data.selectedAddressID
}
},

如有问题请加我QQ271979879  ,已验证没有问题

扫描二维码推送至手机访问。

版权声明:本文由码农翻生发布,如需转载请注明出处。

本文链接:https://lubojian.cn/post/19.html

分享给朋友:

相关文章

uni-app   自定义 tabBar

uni-app 自定义 tabBar

效果:因为定制页是跳其它的页,就不点了实现思维:把需要跳转的页面写在page.json中,在自定义tabBar组件,把原生的tabBar给隐藏掉page.json { "pages": [  &...

uniapp实现微信小程序端动态生成海报

uniapp实现微信小程序端动态生成海报

背景:基于uniapp实现微信小程序中商品详情的海报生成与保存效果图:思路:首先把海报上需要的内容准备好,比如用户头像,商品信息,二维码等。需要注意的是,因为二维码是动态生成的,所以需要后端传给我们,前端需要把路径和参数传给后端,后端请求微...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。