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

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

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控件样式复用 ?
5870浏览 • 3回复 待解决
「多态控件效果样式确认
157浏览 • 1回复 待解决
ATSUI可以调用JSUI控件吗?
762浏览 • 0回复 待解决
ImageKnife控件会有缓存读取失败
214浏览 • 1回复 待解决
@kit.MapKit 地图控件无法显示
170浏览 • 1回复 待解决
Java Text控件,如何设置字间距?
5036浏览 • 1回复 待解决
鸿蒙WebView会遮挡其他控件问题
7412浏览 • 3回复 待解决
鸿蒙中有没有载入框控件?
3817浏览 • 1回复 待解决
控件enabled设置为false时,hover失效
360浏览 • 1回复 待解决
JS 获取控件位置并动态赋值问题
2043浏览 • 1回复 待解决
ArkUI中如何获取当前UI控件信息
154浏览 • 1回复 待解决