HarmonyOS @CustomDialog装饰器的自定义对话框,如果做到不被系统返回键/侧滑返回关闭?

目前@CustomDialog装饰器的自定义对话框不能控制是否可以关闭,在点击系统返回键/侧滑屏幕时,会强行关闭对话框。有没有像dialog的cancelable属性,控制对话框不能被系统返回键/侧滑屏幕关闭?

操作步骤:

1、使用@CustomDialog装饰器自定义一个对话框,并调用CustomDialogController.open()弹出。

2、模拟器点击系统返回键,或者真机操作侧滑返回。此时系统会把对话框关闭。

SDK版本:

HarmonyOS-NEXT-DP2

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

可以使用 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__customdialogcontrolleroptions对象说明

请问手机版本是HarmonyOS-NEXT-DP2吗?他对应的api是11,需要升级到12才能使用该功能。

分享
微博
QQ
微信
回复
1天前
相关问题
HarmonyOS dialog如何禁止返回关闭
41浏览 • 1回复 待解决
如何封装一个自定义Dialog对话框
2265浏览 • 1回复 待解决
HarmonyOS 弹出对话框
44浏览 • 1回复 待解决