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

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

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
相关问题
组件调用组件方法
542浏览 • 1回复 待解决
鸿蒙怎么实现UI控件样式复用 ?
6470浏览 • 3回复 待解决
「多态控件效果样式确认
713浏览 • 1回复 待解决
使用TextPicker控件显示异常问题
418浏览 • 1回复 待解决
ImageKnife控件会有缓存读取失败
655浏览 • 1回复 待解决
ATSUI可以调用JSUI控件吗?
1246浏览 • 0回复 待解决
鸿蒙WebView会遮挡其他控件问题
8082浏览 • 3回复 待解决
鸿蒙中有没有载入框控件?
4310浏览 • 1回复 待解决
组件与组件使用@Link双向同步
402浏览 • 1回复 待解决
组件溢出容器问题
566浏览 • 1回复 待解决
访问控制系统控件有哪些
55浏览 • 1回复 待解决
按钮内子控件如何动态更新
429浏览 • 1回复 待解决
Button等控件设置点击效果
371浏览 • 1回复 待解决
如何测量获取控件高宽
372浏览 • 1回复 待解决