AlertDialog action回调里调用router.back()不生效

AlertDialog.show( 
  { 
    title: 'test', 
    message: 'test', 
    autoCancel: true, 
    alignment: DialogAlignment.Center, 
    gridCount: 4, 
    showInSubWindow: true, 
    offset: { dx: 0, dy: -20 }, 
    buttonDirection: DialogButtonDirection.HORIZONTAL, 
    buttons: [ 
      { 
        value: CommonUtils.getStringData($r('app.string.txy_dialog_ok')), 
        action: () => { 
          router.back(); //====================================> 不生效 
        } 
      } 
    ] 
  } 
)
HarmonyOS
2024-04-29 22:26:50
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
智体美劳全发展

这个是因为showInSubWindow设置为true导致的;showInSubWindow为true时,相当于弹出了一个独立的子窗口,底层的router就不能控制返回了;

参见文档:https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis-arkui/arkui-ts/ts-methods-alert-dialog-box.md#alertdialogparamwithconfirm%E5%AF%B9%E8%B1%A1%E8%AF%B4%E6%98%8E

分享
微博
QQ
微信
回复
2024-04-30 21:08:31
相关问题
HarmonyOS 关于router.back()
733浏览 • 1回复 待解决
router.back调用时,偶现app自动退出
1754浏览 • 1回复 待解决
HarmonyOS router.back不起作用
130浏览 • 1回复 待解决
HarmonyOS router.back返回页面问题
56浏览 • 1回复 待解决
HarmonyOS 关于router.back问题的咨询
460浏览 • 1回复 待解决
返回页面router.back如何传递参数
999浏览 • 2回复 待解决
如何获取router.back传递的参数
2710浏览 • 1回复 待解决
HarmonyOS router.back返回参数如何接收
36浏览 • 1回复 待解决
能否拦截左滑返回并替换为router.back
736浏览 • 1回复 待解决
HarmonyOS router.back无法返回到上一页
36浏览 • 1回复 待解决
router.back中加入指定url后无法返回
340浏览 • 1回复 待解决
router.back如何携带参数返回给上一级
1594浏览 • 1回复 待解决
HarmonyOS Stack align生效
61浏览 • 1回复 待解决
interface如何调用
937浏览 • 1回复 待解决
lottile动画加载完成调用
1004浏览 • 1回复 待解决