HarmonyOS 如何禁止弹窗关闭

现在设置了一个弹窗用于强制用户更新,虽然设置了autoCancel,但是还是会响应返回手势关闭弹窗

当客户端版本小于后端设置的最小版本时,会强制用户进行更新,未更新不允许用户关闭弹窗进行操作

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

自定义弹框禁止手势关闭可通过onBackPressed属性实现,参考链接:

https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-app-ability-uiability-V5#uiabilityonbackpressed10

参考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-references-V5/ts-methods-custom-dialog-box-V5#ZH-CN_TOPIC_0000001847211028__customdialogcontrolleroption

分享
微博
QQ
微信
回复
3天前
相关问题
HarmonyOS dialog如何禁止侧滑返回关闭
36浏览 • 1回复 待解决
HarmonyOS 如何关闭键盘 再关闭弹窗
459浏览 • 1回复 待解决
全局关闭弹窗如何实现?
278浏览 • 2回复 待解决
HarmonyOS 申请权限,禁止后不再弹窗
43浏览 • 1回复 待解决
半模态弹窗如何禁止两边触摸
164浏览 • 0回复 待解决