赞
踩
HarmonyOS应用开发学习笔记 arkTS自定义弹窗(CustomDialog)简单使用
@CustomDialog export struct CustomDialogExample { controller: CustomDialogController build() { Column() { Text("是否退出?").fontSize(30).margin({ top: 60 }) Blank() Row() { Text('是') .width('50%') .height(40) .backgroundColor(Color.Blue) .fontColor(Color.White) .fontSize(18) .textAlign(TextAlign.Center) Text('否') .width('50%') .height(40) .backgroundColor(Color.Gray) .fontColor(Color.White) .fontSize(18) .textAlign(TextAlign.Center) }.backgroundColor(Color.Red) }.width('100%').height(200) } }
private dialog =
new CustomDialogController({ builder: CustomDialogExample() })
……
Button("拥抱时代")
.width('80%')
.margin({ left: 20, top:200, right: 20 })
.onClick(() => {
this.dialog.open() //淡出淡出狂
})
private dialog = new CustomDialogController({ builder: CustomDialogExample({ cancel: this.onCancel, confirm: this.onAccept }) }) //定义onCancel回调方法 onCancel() { console.info('Callback when the first button is clicked') } //onAccept onAccept() { console.info('Callback when the second button is clicked') }
@CustomDialog export struct CustomDialogExample { controller: CustomDialogController //弹出框控制器 cancel: () => void //回调方法cancel confirm: () => void //回调方法confirm build() { Column() { Text("是否退出?").fontSize(30).margin({ top: 60 }) Blank() Row() { Text('是') .width('50%').height(40).backgroundColor(Color.Blue).fontColor(Color.White) .fontSize(18).textAlign(TextAlign.Center) .onClick(() => { this.controller.close() this.confirm() //调用回调 }) Text('否') .width('50%').height(40).backgroundColor(Color.Gray).fontColor(Color.White) .fontSize(18).textAlign(TextAlign.Center) .onClick(() => { this.controller.close() this.cancel() //调用回调 }) }.backgroundColor(Color.Red) }.width('100%').height(200) } }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。