HarmonyOS 弹窗中如何拦截返回键

dialogController: CustomDialogController = new CustomDialogController({
  builder: CustomDialogExample(),
})

this.dialogController.open();

@CustomDialog
struct CustomDialogExample {
  controller: CustomDialogController = new CustomDialogController({
    builder: CustomDialogExample({}),
  })

  build() {
    Column() {
      Text('我是内容')
        .fontSize(20)
        .margin({ top: 10, bottom: 10 })
    }
  }
}

在弹窗显示的时候,如何阻止点击空白处不让弹窗消失并且左滑屏幕也不消失?

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

参考示例:

@Entry
@Component
struct CustomDialogUser1 {
  dialogController: CustomDialogController = new CustomDialogController({
    builder: CustomDialogExample(),
    autoCancel: false,
    onWillDismiss: (dismissDialogAction: DismissDialogAction) => {
      console.info("reason=" + JSON.stringify(dismissDialogAction.reason))
      console.log("dialog onWillDismiss")
      if (dismissDialogAction.reason == DismissReason.TOUCH_OUTSIDE) {
        dismissDialogAction.dismiss()
      }
    },

  })

  onBackPress(): boolean | void {
    return true
  }

  build() {
    Column() {
      Button('click me')
        .onClick(() => {
          this.dialogController.open()
        })
    }.width('100%').margin({ top: 5 })
  }
}

@CustomDialog
struct CustomDialogExample {
  controller: CustomDialogController = new CustomDialogController({
    builder: CustomDialogExample({}),

  })

  build() {
    Column() {
      Text('我是内容')
        .fontSize(20)
        .margin({ top: 10, bottom: 10 })
    }
  }
}
分享
微博
QQ
微信
回复
1天前
相关问题
HarmonyOS 全模态怎么拦截系统返回
53浏览 • 1回复 待解决
HarmonyOS page如何获取返回事件?
468浏览 • 1回复 待解决
HarmonyOS 在Page如何拦截系统返回
30浏览 • 1回复 待解决
HarmonyOS 如何监听物理返回
37浏览 • 1回复 待解决
HarmonyOS 系统返回如何拦截
53浏览 • 1回复 待解决
HarmonyOS 如何拦截物理返回
31浏览 • 1回复 待解决
如何屏蔽系统的返回
446浏览 • 1回复 待解决
HarmonyOS 物理返回监听
79浏览 • 1回复 待解决
CustomDialogController禁用返回
352浏览 • 1回复 待解决
HarmonyOS RN如何拦截返回事件
96浏览 • 1回复 待解决
HarmonyOS 监听手机物理返回
44浏览 • 1回复 待解决
HarmonyOS 怎么拦截返回键盘
373浏览 • 1回复 待解决
webview拦截返回按钮。
849浏览 • 1回复 待解决