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
按赞同
/
按时间
jackie510

这个是因为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
相关问题
router.back调用时,偶现app自动退出
461浏览 • 1回复 待解决
如何获取router.back传递的参数
1029浏览 • 1回复 待解决
router.back如何携带参数返回给上一级
360浏览 • 1回复 待解决
interface如何调用
437浏览 • 1回复 待解决
lottile动画加载完成调用
462浏览 • 1回复 待解决
ConstraintSize尺寸设置生效
883浏览 • 1回复 待解决
容器组件onVisibleAreaChange生效
467浏览 • 1回复 待解决
使用position之后height生效
734浏览 • 1回复 待解决
textfield的截断属性生效
1275浏览 • 1回复 待解决
通过WindowProperties设置属性生效
674浏览 • 1回复 待解决
Left、Top为什么生效
309浏览 • 1回复 待解决
音频播放长时任务生效
454浏览 • 1回复 待解决
在嵌套组件中Scroll生效
639浏览 • 1回复 待解决