#鸿蒙通关秘籍#如何实现自定义弹窗的交互功能?

HarmonyOS
2024-12-12 13:40:22
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
hm673ff09671132

在自定义弹窗中添加交互按钮,可以使用以下步骤:

  1. @CustomDialog装饰器内添加按钮组件,并设置点击事件。
  2. 将对应的交互逻辑写入cancelconfirm回调函数。

示例代码:

bash @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 }) } }

设置cancelconfirm来响应用户的交互操作。


分享
微博
QQ
微信
回复
2024-12-12 15:48:57
相关问题
使用自定义弹窗实现分享弹窗
729浏览 • 1回复 待解决