@CustomDialog 自定义dialog 中的controller: CustomDialogController 是如何赋值的?

自定义dialog 中controller 无法获取到值,目前只能是page 中持有controller 无法在dialog中操作controller。

HarmonyOS
2024-09-30 09:47:42
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
FengTianYa

自定义弹窗数据交互,参考网址:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/ts-methods-custom-dialog-box-V5

参考demo:

@CustomDialog  
struct CustomDialogExample {  
  cancel?: () => void  
  confirm?: () => void  
  controller: CustomDialogController  
  
  build() {  
    Column() {  
      Text('我是内容').fontSize(20).margin({ top: 10, bottom: 10 })  
      Flex({ justifyContent: FlexAlign.SpaceAround }) {  
        Button('cancel')  
          .onClick(() => {  
            this.controller.close()  
            if (this.cancel) {  
              this.cancel()  
            }  
          }).backgroundColor(0xffffff).fontColor(Color.Black)  
        Button('confirm')  
          .onClick(() => {  
            this.controller.close()  
            if (this.confirm) {  
              this.confirm()  
            }  
          }).backgroundColor(0xffffff).fontColor(Color.Red)  
      }.margin({ bottom: 10 })  
    }  
  }  
}  
@Entry  
@Component  
struct CustomDialogUser {  
  dialogController: CustomDialogController = new CustomDialogController({  
    builder: CustomDialogExample({  
      cancel: this.onCancel,  
      confirm: this.onAccept,  
    }),  
  })  
  
  onCancel() {  
    console.info('Callback when the first button is clicked')  
  }  
  
  onAccept() {  
    console.info('Callback when the second button is clicked')  
  }  
  
  build() {  
    Column() {  
      Button('click me')  
        .onClick(() => {  
          this.dialogController.open()  
        })  
    }.width('100%').margin({ top: 5 })  
  }  
}
分享
微博
QQ
微信
回复
2024-09-30 18:17:13
相关问题
HarmonyOS 用CustomDialog自定义Dialog
172浏览 • 1回复 待解决
HarmonyOS如何自定义组件Controller
216浏览 • 1回复 待解决
CustomDialog自定义动画
321浏览 • 1回复 待解决
鸿蒙怎么实现自定义布局Dialog
9098浏览 • 2回复 已解决
HarmonyOS 自定义弹窗CustomDialog问题
461浏览 • 1回复 待解决
HarmonyOS 自定义Dialog显示问题
341浏览 • 1回复 待解决
HarmonyOS 自定义dialog open无效
170浏览 • 1回复 待解决
HarmonyOS 自定义弹窗 (CustomDialog)问题
208浏览 • 1回复 待解决