当前位置:   article > 正文

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

uniapp navigateback

前言:

官方有推荐用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()
				}
			},
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

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
	}
},
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/287106?site=
推荐阅读