创建弹窗组件

弹窗组件 : 

//  不需要 @component  

//  预览用 @Preview

@CustomDialog 

// 默认导出

export defalut struct Dialog {

//  定义后

controller: CustomDialogController 

//  this.controller.open()  开启弹窗

//  this.controller.colse()  关闭弹窗

 

//  取消 和 确定

cancel: () => void 

confirm: () => void 

     build () {

        Column(){ 

           Button('取消')   //   用 $r 获取  string配置 en zh

           .onClick(()=>{

             this.cotroller.close() 

            this.cancel()

              })

           Button('确定')   //   用 $r 获取  string配置 en zh

           .onClick(()=>{

             this.cotroller.close() 

            this.confirm()

              })

               }

    }

}

  使用父组件  :   

@Entry 

@Component 

struct Dialog {

    dialogController: CustDialogController  = new CustDialogController ({ 

      builder : Dialog ({      //  Dialog  记得 import 导入

              cancel: this.onCancel,

              confirm:  this.onConfirm

       }),   alignment: DialogAlignment,.Default,  //  设置dialog对其方式 枚举 默认底部

} )

        onCancel(){ 

               console.log('cancel')

                }

        onConfirm(){ 

               console.log('confirm')

                }

 

      build() { 

             Button('打开弹窗').onClick(()=>  { 

                 this.dialogController.open()  // 打开弹窗

                })

        } 

 

}

 

 

 

 


posted @   宝乐  阅读(11)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
点击右上角即可分享
微信分享提示