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

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

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

父组件调用子组件方法,请参考如下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
相关问题
HarmonyOS RelativeContainer控件显示问题
378浏览 • 1回复 待解决
HarmonyOS list控件组件复用
409浏览 • 1回复 待解决
组件调用组件方法
1293浏览 • 1回复 待解决
HarmonyOS 控件设置宽度100%问题
28浏览 • 1回复 待解决
组件调用组件里方法
338浏览 • 1回复 待解决
HarmonyOS中如何动态控制控件属性
185浏览 • 0回复 待解决
web控件怎么用电脑调试?
411浏览 • 0回复 待解决