在HarmonyOS开发中如何禁止弹窗关闭?

在HarmonyOS开发中如何禁止弹窗关闭?现在设置了一个弹窗用于强制用户更新,虽然设置了autoCancel,但是还是会响应返回手势关闭弹窗
当客户端版本小于后端设置的最小版本时,会强制用户进行更新,未更新不允许用户关闭弹窗进行操作

本文参与了 【 HarmonyOS NEXT 技术问答冲榜,等你来战!】欢迎正在阅读的你也加入。

阅读 508
1 个回答

自定义弹框禁止手势关闭可通过onBackPressed属性实现,参考链接:
https://developer.huawei.com/consumer/cn/doc/harmonyos-refere...
参考demo:
@Component
export struct DefaultDialog {
private dialogOptions?: AppDialogOption;

build() {

NavDestination() { 
} 
.onBackPressed((): boolean => { // true为拦截  
  if (this.dialogOptions?.onBackPressed) { 
    return this.dialogOptions?.onBackPressed() 
  } else { 
    return false; 
  } 
}) 

}
}
api12中新增了onWillDismiss方法:
1.当用户执行点击遮障层关闭、左滑/右滑、三键back、键盘ESC关闭交互操作时,如果注册该回调函数,则不会立刻关闭弹窗。在回调函数中可以通过reason得到阻拦关闭弹窗的操作类型,从而根据原因选择是否能关闭弹窗。当前组件返回的reason中,暂不支持CLOSE_BUTTON的枚举值。
2.在onWillDismiss回调中,不能再做onWillDismiss拦截。
可参考以下文档:
https://developer.huawei.com/consumer/cn/doc/harmonyos-refere...

本文参与了 【 HarmonyOS NEXT 技术问答冲榜,等你来战!】欢迎正在阅读的你也加入。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题