HarmonyOS CustomDialogController声明在方法内,在CustomDialog内部的controller是undefined

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

自定义Dialog为何只能定义在struct里面,如果定义在struct内的一个方法内,然后在Dialog内部操作controller,该对象就是undefined。直接定义在struct内Dialog内部的controller就是正常的。现在需要让Dialog内传入不同的参数,实现不同的业务,如果定义成全局的就无法满足该需求,请问有没有好的解决方案?

HarmonyOS
2024-10-10 11:53:30
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
superinsect

1、目前弹窗是依赖于上下文的,CustomDialogController仅在作为@CustomDialog和@Component struct的成员变量,且在@Component struct内部定义时赋值才有效。https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/ts-methods-custom-dialog-box-V5#customdialogcontroller

通过ComponentContent表示组件内容的实体封装,ComponentContent对象支持在非UI组件中创建与传递,便于开发者对弹窗类组件进行解耦封装,能够通过update方法动态入参,链接如下:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-arkui-componentcontent-V5#update

2、另外,通过使用promptAction实现的自定义弹窗,它不与组件强绑定,它能够通过update方法动态入参,文档链接如下:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-arkui-uicontext-V5#opencustomdialog12

分享
微博
QQ
微信
回复
2024-10-10 18:03:44
相关问题
应用监听手机熄屏方法
562浏览 • 1回复 待解决
什么控制器controller
848浏览 • 1回复 待解决