一.问题出现场景
场景:
在做选择人员的时候,可能需要从当前页面跳转到搜索页面进行一个人员的搜索,搜索完成后要返回当前需要操作的页面.
问题:
当时的思路是选择完成后
,
getCurrentPages是获取页面栈,调用上一个页面的方法携带选中人员的userId并请求,来用于页面的回显,然后再dd.navigateBack({delta:1});返回操作页面.
//操作页面
page({
.......
getUseInfro(e){
//e为传回来的数据
//this.getData()//根据返回的userId请求回显数据
}
})
//搜索人员页面
page({
submitBut(){
//缓存选择用于回显
dd.removeStorage({
key: "storage",
success: function () { }
})
dd.setStorage({
key: "storage",
success: function () { }
})
//获取页面栈
let pages = getCurrentPages();
let perPage = pages[pages.length - 3];
//params为携带的数据
perPage.returnBackCouponInfo(params);
//返回
dd.navigateBack({
delta: 1
})
}
})
这样在模拟器里没有任何问题,但是当真机测试的时候 getList();里的请求直接阻塞
解决办法
//操作页面
page({
.......
getUseInfro(e){
//e为传回来的数据
//this.getData(e)//根据返回的userId请求回显数据
}
getData(e){
findInforByUserId(e).then(res=>{
if(res.code === 200){
dd.navigateBack({
delta: 1
});
}
})
}
})
//搜索人员页面
page({
submitBut(){
//缓存选择用于回显
dd.removeStorage({
key: "storage",
success: function () { }
})
dd.setStorage({
key: "storage",
success: function () { }
})
//获取页面栈
let pages = getCurrentPages();
let perPage = pages[pages.length - 3];
//params为携带的数据
perPage.returnBackCouponInfo(params);
}
})
版权声明:本文为weixin_42460262原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。