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自动退出
274浏览 • 1回复 待解决
如何获取router.back传递的参数
566浏览 • 1回复 待解决
lottile动画加载完成调用
73浏览 • 1回复 待解决
ConstraintSize尺寸设置生效
481浏览 • 1回复 待解决
容器组件onVisibleAreaChange生效
153浏览 • 1回复 待解决
使用position之后height生效
406浏览 • 1回复 待解决
textfield的截断属性生效
951浏览 • 1回复 待解决
通过WindowProperties设置属性生效
378浏览 • 1回复 待解决
在嵌套组件中Scroll生效
191浏览 • 1回复 待解决
音频播放长时任务生效
143浏览 • 1回复 待解决
Web组件的onKeyEvent键盘事件生效
407浏览 • 1回复 待解决