父控件怎么才能使用到子控件的方法或属性,或者将子控件将一些方法或属性怎么回调给父控件

父控件怎么才能使用到子控件的方法或属性,或者将子控件将一些方法或属性怎么回调给父控件

HarmonyOS
2024-04-27 23:46:30
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
HearMe_cn

父组件调用子组件方法,请参考如下demo

@Component 
struct Child { 
  @State private text: string = '初始值' 
  private controller: ChildController = new ChildController(); 
 
  aboutToAppear() { 
    if (this.controller) { 
      this.controller.changeText = this.changeText 
    } 
    console.log('aaa' 
    ) 
  } 
 
  private changeText = (value: string) => { 
    this.text = value 
    console.log('bbb' 
    ) 
  } 
 
  build() { 
    Column() { 
      Text(this.text) 
    } 
  } 
} 
 
class ChildController { 
  changeText = (value: string) => { 
    console.log('11111' 
    ) 
  } 
} 
 
export let ChildRef = new ChildController() 
 
@Entry 
@Component 
struct Parent { 
  // ChildRef = new ChildController() 
  @State noShow: boolean = false 
  build() { 
    Column() { 
      Text('获取Child的exposeMethods!' 
      ) 
        .fontSize('18vp' 
        ) 
        .fontColor(Color.Gray) 
      Divider() 
      Child({ controller: ChildRef }) 
      Child() 
      Button('Parent调用childer的changeText') 
        .onClick(() => { 
          ChildRef.changeText('Parent调用childer的changeText' 
          ) 
        }) 
    } 
  } 
}
分享
微博
QQ
微信
回复
2024-04-28 21:10:21
相关问题
鸿蒙怎么实现UI控件样式复用 ?
5798浏览 • 3回复 待解决
「多态控件效果样式确认
89浏览 • 1回复 待解决
ATSUI可以调用JSUI控件吗?
640浏览 • 0回复 待解决
鸿蒙WebView会遮挡其他控件问题
7306浏览 • 3回复 待解决
鸿蒙中有没有载入框控件?
3781浏览 • 1回复 待解决
请问Image控件是怎样设置网络图片
8593浏览 • 3回复 已解决
求大佬告知如何拦截子控件事件
325浏览 • 1回复 待解决
@kit.MapKit 地图控件无法显示
55浏览 • 1回复 待解决
Java Text控件,如何设置字间距?
5003浏览 • 1回复 待解决