HarmonyOS 鸿蒙Next customedialog 中的方法不能被回调

发布于 1周前 作者 eggper 最后一次编辑是 5天前 来自 鸿蒙OS

问题: customedialog 中的方法不能被回调 代码

 privacyDialogController: CustomDialogController = new CustomDialogController({
    builder: CustomDialogPrivacy({
      openPrivacy: this.openPrivacyPage,
      onConfirm: this.onConfirm,
      title:'协议和隐私政策提示',
      privacyColor:'#0052FB',
      prefixMessage:'感谢您选择SZJG HUB APP!我们非常重视您的个人信息和隐私保护。为更好地保障您的个人权益,在使用产品前,请您认真阅读'
    }),
    autoCancel: false,
    cancel: () => {
      //this.privacyDialogController.open();
    },

    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,
    customStyle: true
  })

执行onConfirme中的方法不能被执行,但调试监听是执行到这个代码段的。

  onConfirm() {
     this.isSelectedPrivacy=true;
    // this.loginHandle();
    console.info('this.isSelectedPrivacy',this.isSelectedPrivacy)
  }
  

更多关于HarmonyOS 鸿蒙Next customedialog 中的方法不能被回调的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html

4 回复

问题已解决,

使用Event hub

getContext(this).eventHub.on(“loginHandle”,this.loginHandle.bind(this)); getContext(this).eventHub.emit(“loginHandle”);

更多关于HarmonyOS 鸿蒙Next customedialog 中的方法不能被回调的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


demo没贴全,CustomDialogPrivacy声明没有,没法运行定位。麻烦补充一下

在HarmonyOS鸿蒙系统中,若遇到Next customedialog中的方法不能被回调的问题,通常与对话框的生命周期管理、事件注册与触发机制有关。

  1. 检查事件注册:确保在对话框创建时,所有期望的回调方法已经正确注册到事件监听器中。这通常涉及到在对话框的初始化代码中添加事件监听逻辑。

  2. 对话框显示与隐藏:对话框的显示与隐藏状态可能影响事件的触发。确认在对话框可见时触发事件,且对话框未被意外销毁或隐藏。

  3. 线程与异步处理:如果对话框中的操作涉及异步处理(如网络请求),确保回调是在正确的线程中执行。鸿蒙系统通常要求UI操作在主线程进行。

  4. 资源释放与对象生命周期:检查对话框及其内部对象是否因资源释放或对象生命周期结束而失效。确保在对话框使用期间,相关对象保持有效。

  5. 权限与配置:确认应用已获取必要的权限,且对话框的配置符合鸿蒙系统的要求。

如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部