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 })
    }
  }
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.

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

HarmonyOS
2024-12-25 14:20:48
947浏览
收藏 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 })
    }
  }
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.
  • 45.
分享
微博
QQ
微信
回复
2024-12-25 15:59:41
相关问题
HarmonyOS 全模态怎么拦截系统返回
579浏览 • 1回复 待解决
HarmonyOS page如何获取返回事件?
1011浏览 • 1回复 待解决
HarmonyOS 在Page如何拦截系统返回
587浏览 • 1回复 待解决
HarmonyOS 如何监听物理返回
647浏览 • 1回复 待解决
HarmonyOS 怎么在page监听返回
606浏览 • 1回复 待解决
HarmonyOS 如何拦截物理返回
605浏览 • 1回复 待解决
HarmonyOS 系统返回如何拦截
679浏览 • 1回复 待解决
HarmonyOS 如何拦截UIAbility的返回
488浏览 • 1回复 待解决
如何屏蔽系统的返回
868浏览 • 1回复 待解决
HarmonyOS 物理返回监听
762浏览 • 1回复 待解决
CustomDialogController禁用返回
935浏览 • 1回复 待解决
HarmonyOS RN如何拦截返回事件
494浏览 • 1回复 待解决
HarmonyOS 监听手机物理返回
537浏览 • 1回复 待解决
HarmonyOS 怎么拦截返回键盘
1057浏览 • 1回复 待解决