HarmonyOS 间接使用自定义Dialog,controller属性undefined问题
//Index.ets
import { MyDialog } from './MyDialog'
import { TitleButton } from './TitleButton'
@Entry
@Component
struct MyPage {
build() {
Column(){
TitleButton({
title:'OpenMyDialog',
customDialogController: new CustomDialogController({
builder:MyDialog()
})
})
}
}
}
//MyDialog.ets
@Component
@CustomDialog
export struct MyDialog {
controller: CustomDialogController;
build() {
Button('Quit')
.onClick(()=>{
this.controller?.close()
})
}
}
//TitleButton.ets
@Component
export struct TitleButton{
@Prop title:string;
customDialogController?: CustomDialogController;
build() {
Column(){
Button(this.title)
.onClick(()=>{
this.customDialogController?.open()
})
}
}
}
- 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.
Demo代码文件上面给出,这个场景是 MyPage => TitleButton => MyDialog,我直接在MyPage中new一个CustomDialogController传给TitleButton,builder使用MyDialog,这个demo下,MyDialog弹窗中的Quit按钮是无法退出弹窗的,调试发现MyDialog中的controller为undefined。
若修改Index.ets和TitleButton.ets如下,则Quit按钮正常退出,程序正常运行,请问为什么上面那种不行。
//修改后Index.ets
import { TitleButton } from './TitleButton'
@Entry
@Component
struct MyPage {
build() {
Column(){
TitleButton({
title:'OpenMyDialog',
})
}
}
}
//修改后TitleButton.ets
import { MyDialog } from './MyDialog';
@Component
export struct TitleButton{
@Prop title:string;
customDialogController?: CustomDialogController;
build() {
Column(){
Button(this.title)
.onClick(()=>{
this.customDialogController=new CustomDialogController({
builder:MyDialog()
})
this.customDialogController?.open()
})
}
}
}
- 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.
HarmonyOS
赞
收藏 0
回答 1
相关问题
HarmonyOS 自定义 Dialog this.controller.close() 关闭失败 或 undefined
578浏览 • 1回复 待解决
HarmonyOS 自定义dialog相关问题
789浏览 • 1回复 待解决
HarmonyOS 自定义Dialog显示问题
1324浏览 • 1回复 待解决
HarmonyOS 自定义Dialog高度问题
834浏览 • 1回复 待解决
@CustomDialog 自定义dialog 中的controller: CustomDialogController 是如何赋值的?
1301浏览 • 1回复 待解决
HarmonyOS 自定义Dialog上有自定义键盘,侧滑问题
798浏览 • 1回复 待解决
HarmonyOS 自定义dialog中的某些属性如何调用?
754浏览 • 0回复 待解决
HarmonyOS 自定义dialog中的某些属性如何调用
680浏览 • 1回复 待解决
HarmonyOS 自定义Dialog,autoCancel属性和onWillDismiss会冲突吗
758浏览 • 1回复 待解决
HarmonyOS如何自定义组件的Controller?
1270浏览 • 1回复 待解决
HarmonyOS 自定义Dialog宽度
879浏览 • 1回复 待解决
HarmonyOS 自定义全局dialog
757浏览 • 1回复 待解决
HarmonyOS 自定义全屏dialog
946浏览 • 1回复 待解决
HarmonyOS 自定义Dialog背景色透明问题
1957浏览 • 1回复 待解决
自定义Dialog,怎么给自定义Dialog设置其他背景色
1749浏览 • 1回复 待解决
如何实现一个自定义的Controller? 自定义的Controller与自定义的组件page如何进行交互?
2803浏览 • 1回复 待解决
HarmonyOS 自定义dialog open无效
1005浏览 • 1回复 待解决
HarmonyOS 如何封装自定义Dialog
851浏览 • 1回复 待解决
HarmonyOS 用CustomDialog自定义Dialog
1172浏览 • 1回复 待解决
HarmonyOS 关于自定义dialog使用范围的疑问
1204浏览 • 1回复 待解决
HarmonyOS 自定义UI组件如何自定义属性方法
1430浏览 • 1回复 待解决
自定义Dialog跳转新页面返回后,Dialog状态丢失的问题
823浏览 • 1回复 待解决
HarmonyOS 嵌套自定义类型引用的undefined判断
652浏览 • 1回复 待解决
自定义弹窗CustomDialog的maskRect属性设置问题
1718浏览 • 1回复 待解决
HarmonyOS 自定义的气泡的Placement属性无效问题
894浏览 • 1回复 待解决
CustomDialogController仅在作为@CustomDialog和@Component struct的成员变量,且在@Component struct内部定义时赋值才有效,请参考:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/ts-methods-custom-dialog-box-V5#customdialogcontroller