自定义弹框禁止手势关闭可通过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
自定义弹框禁止手势关闭可通过onBackPressed属性实现,参考链接:
https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-app-ability-uiability-V5\#uiabilityonbackpressed10
参考demo:
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