m***@163.com
m***@163.com
  • 发布:2025-03-27 11:08
  • 更新:2025-03-27 17:30
  • 阅读:47

【报Bug】在IOS中使用uni.relaunch跳转页面,在目标页面的onshow中打印当前页堆栈,不是1

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: win10

手机系统: iOS

手机系统版本号: iOS 18

手机厂商: 苹果

手机机型: iphone12mini

页面类型: vue

vue版本: vue3

打包方式: 离线

项目创建方式: CLI

CLI版本号: 5.0.8

操作步骤:

A页面:
uni.navigateTo({url:'B'})
B页面:
uni.navigateTo({url:'C'})
C页面
uni.relaunch({url:'D'})
D页面:
onshow(() => {
const pages = getCurrentPages()
console.log(pages.length)
})

预期结果:

期望console.log中打印得到页面堆栈长度是1

实际结果:

实际console.log中打印得到页面堆栈长度是4

bug描述:

IOS中使用uni.relaunch跳转后,在目标页的onshow中使用getCurrentPages()获取当前页页面堆栈,期望获取到的是1,实际获取到的是之前所有的堆栈条数

2025-03-27 11:08 负责人:无 分享
已邀请:
骑猪o0o找牛

骑猪o0o找牛 - 一挖一麻袋

它 好像 不是 立刻 就 销毁 其他 页面的,

你可以加个 setTimeout 试试看 , 延迟个 1秒啥的, 应该 长度 就是1了,

我是在 url 加上了 标志位, 标志 是否是 reLaunch ,

uni.reLaunch({  
            url: "/pages/dxd/dxd?reLaunch=1"  
        })

要回复问题请先登录注册