HarmonyOS router.replaceUrl

A页面pushUrl,router.RouterMode.Single到B页面,B页面登录成功后,repaceUrl,router.RouterMode.Single到A页面,A页面点击返回按钮,调用router.back,无反应,点击系统返回键直接回到桌面,怎么解决

HarmonyOS
4天前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
superinsect

由于前一个页面使用router.replaceUrl()跳转,可以修改为router.pushUrl(),因为replaceUrl是替换当前页面,并销毁被替换的页面;具体内容请看:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-router-V5#routerback

参考demo:

//searchDetail.ets
import { router } from '@kit.ArkUI'

@Entry
@Component
struct searchDeatil{
  onPageHide(): void {
    //清空页面栈中的所有历史页面,仅保留当前页面作为栈顶页面。
    router.clear()


  }
  @State message:string='返回'

  build() {
    Row(){
      Column(){
        Text('B页面')
        Button(this.message).fontSize(20).onClick(()=>{
          router.replaceUrl({
            url:'pages/Index'
          },router.RouterMode.Single, (err) => {
            if (err) {
              console.error(`Invoke replaceUrl failed, code is ${err.code}, message is ${err.message}`);
              return;
            }
            console.info('Invoke replaceUrl succeeded.');
          })
        })

      }
    }

  }
}

//index.ets
import router from '@ohos.router';
@Entry
@Component
struct Index{


  build() {
    Row(){
      Column(){
        Text('A页面')
        Button('跳转B').onClick(()=>{
          router.pushUrl({
            url: 'pages/SearchDetail' // 目标url
          }, router.RouterMode.Single, (err) => {
            if (err) {
              console.error(`Invoke replaceUrl failed, code is ${err.code}, message is ${err.message}`);
              return;
            }
            console.info('Invoke replaceUrl succeeded.');
          })
        })
        Button('返回').onClick(()=>{
          router.back()
        })
      }
    }
  }

}
分享
微博
QQ
微信
回复
4天前
相关问题
HarmonyOS router跳转问题
517浏览 • 2回复 待解决
HarmonyOS router 返回问题
351浏览 • 1回复 待解决
HarmonyOS router pushUrl报错
685浏览 • 1回复 待解决
HarmonyOS 关于router.back()
729浏览 • 1回复 待解决
HarmonyOS router若干问题
22浏览 • 1回复 待解决
HarmonyOS router路由跳转问题
491浏览 • 0回复 待解决
HarmonyOS 跳转方式Router和Navigator
404浏览 • 1回复 待解决
HarmonyOS Navigation和router怎么用
34浏览 • 1回复 待解决
HarmonyOS router传参获取问题
537浏览 • 1回复 待解决
HarmonyOS Router如何返回指定页面
40浏览 • 1回复 待解决
HarmonyOS router无法跳转,并报错。
584浏览 • 1回复 待解决
HarmonyOS router路由路径的问题
553浏览 • 1回复 待解决
Class Router和namespace router有什么区别
1620浏览 • 1回复 待解决
HarmonyOS router.back不起作用
126浏览 • 1回复 待解决
HarmonyOS router.back返回页面问题
45浏览 • 1回复 待解决