当前位置: 首页 > news >正文

鸿蒙 父页面调用子组件页面中的方法

我这里的业务场景是,在父组件中点击隐藏子组件中的弹窗。

先定义一个事件调度器类

export class EventDispatcher {// 定义一个静态成员变量,用于存储子组件方法的引用static hidePop?: () => void;// 发送事件给子组件的方法static dispatchToChildHidePop() {// 检查是否有已注册的子组件方法if (EventDispatcher.childCallback) {// 如果有,则调用该方法并将参数传递给它EventDispatcher.childCallback(value);}}
}

定义子组件:

@Component
export struct ChildComponent {@State showPopup: boolean = false// 在组件即将出现时设置回调函数aboutToAppear(): void {// 注册子组件的方法到事件调度器EventDispatcher.hidePop= () => {// 当事件触发时,调用子组件的方法this.hidePop();};}// 子组件方法hidePop() {this.showPopup = false}// 构建子组件视图build() {Column() {Text('假设这个Text就是我要隐藏的组件').visibility(this.showPopup ? Visibility.Visible : Visibility.None)}.width('100%');}
}

定义父组件:

@Entry
@Component
export struct Page {// 页面构建方法,无需实例化EventDispatcher,因为它是静态类// 页面构建函数build() {Column() {// 创建一个按钮,点击时触发事件调度器的事件Button('调用子组件方法').onClick(() => {EventDispatcher.dispatchToChildHidePop();});// 渲染子组件ChildComponent();}.width('100%');}
}

原作者参照:https://developer.huawei.com/consumer/cn/forum/topic/0203148932614687019?fid=0109140870620153026


http://www.mrgr.cn/news/26858.html

相关文章:

  • 网络安全宣传周的时间,举办活动的方式和意义
  • 【C语言】(指针系列3)数组指针+函数指针+typedef+函数数组指针+转移表
  • java 多线程中 一些需要注意的知识点
  • 【第34章】Spring Cloud之SkyWalking分布式日志
  • W外链怎么做微信推广链接?
  • 【C++二分查找】2560. 打家劫舍 IV
  • 音视频直播应用场景探讨之RTMP推流还是GB28181接入?
  • Superset二次开发之服务器环境准备
  • HJ69 矩阵乘法
  • Transformer学习记录(6):Vision Transformer
  • DockerDocker Compose安装(离线+在线)
  • yolov8学习笔记
  • 视频监控平台中的视频处理核心技术揭秘:自动化监控与智能预警成为趋势?
  • solidity-21-call_contract
  • SOLIDWORKS链阵列功能详解—快速设计链条
  • 高性能计算应用优化之代码实现调优(二)
  • 异构仿真:打造更可靠的综合化航空电子软件
  • windows server 下 布置服务器常用技巧
  • 性能测试-性能分析与调优原理总结
  • electron多标签页模式更像客户端