HarmonyOS 鸿蒙Next CustomDialogController中autoCancel设置为true不生效

发布于 1周前 作者 ionicwang 来自 鸿蒙OS

HarmonyOS 鸿蒙Next CustomDialogController中autoCancel设置为true不生效

CustomDialogController中autoCancel设置为true不生效
设置为true后点击遮障层弹窗依旧被关闭

2 回复

​复制文档 https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V13/ts-methods-custom-dialog-box-V13#示例3设置弹窗的样式

修改

  dialogController: CustomDialogController | null = new CustomDialogController({
    builder: CustomDialogExample({
      cancel: ()=> { this.onCancel() },
      confirm: ()=> { this.onAccept() }
    }),
    cancel: this.existApp,
    autoCancel: false,
    onWillDismiss:(dismissDialogAction: DismissDialogAction)=> {
      console.info("reason=" + JSON.stringify(dismissDialogAction.reason))
      console.log("dialog onWillDismiss")
      if (dismissDialogAction.reason == DismissReason.PRESS_BACK) {
        dismissDialogAction.dismiss()
      }
      if (dismissDialogAction.reason == DismissReason.TOUCH_OUTSIDE) {
        dismissDialogAction.dismiss()
      }
    },
    alignment: DialogAlignment.Center,
    offset: { dx: 0, dy: -20 },
    customStyle: false,
    cornerRadius: 20,
    width: 300,
    height: 200,
    borderWidth: 1,
    borderStyle: BorderStyle.Dashed,//使用borderStyle属性,需要和borderWidth属性一起使用
    borderColor: Color.Blue,//使用borderColor属性,需要和borderWidth属性一起使用
    backgroundColor: Color.White,
    shadow: ({ radius: 20, color: Color.Grey, offsetX: 50, offsetY: 0}),
  }) 

经测试,可以实现

更多关于HarmonyOS 鸿蒙Next CustomDialogController中autoCancel设置为true不生效的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS(鸿蒙)系统中,Next CustomDialogController 的 autoCancel 属性通常用于控制对话框外的点击事件是否会自动取消对话框。如果你发现设置为 true 后该属性不生效,可能由以下几个原因引起:

  1. 事件拦截:检查对话框或其内部组件是否有拦截点击事件的情况,导致点击事件未能传递到对话框外部,从而无法触发自动取消逻辑。

  2. 属性设置时机:确保 autoCancel 属性是在对话框创建并显示之前正确设置的。如果在对话框已经显示后再设置该属性,可能不会生效。

  3. 系统或版本问题:某些鸿蒙系统的特定版本可能存在Bug,导致 autoCancel 属性无法正常工作。确认你使用的鸿蒙系统版本是否已知存在此类问题。

  4. 自定义实现:如果对话框是高度自定义的,可能需要手动处理点击外部区域时的取消逻辑,因为 autoCancel 可能不适用于所有自定义场景。

建议检查上述可能原因,并尝试调整代码或更新系统到最新版本。如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部