Harmony的自定义组件和Page的数据同步

在开发过程中会经常使用自定义组件,就会遇到一个问题,在页面中引入组件后,如何把改变的值传递到自定义组件中呢,这就用到了装饰器,在这是单向传递的,用的装饰器是@State和@Prop

@State在page页面中监听数据的变化
@Prop在自定义组件中监听page页面传递过来的变化值,并赋值给组件,使用的时候必须在调用的位置进行初始化,注意此装饰器不能在@Entry页面中使用

比如自定定义一个分为左右两部分的item,当右侧的数据变化后需要把变化的值赋值给自定义的item中右侧组件来显示内容
在这里插入图片描述
在这里插入图片描述

示例如下:

// 自定义组件
@Component
export default struct ItemLayout {
  private itemHeight: number = 50
  private leftName: ResourceStr
  @Prop rightName: string   // 当PropPage中选择好时间后此属性会接收到选择的时间值并赋值给组件
  private leftTextColor: ResourceColor = Color.Black
  private rightTextColor: ResourceColor = Color.Black
  private textSize: number = 16
  private backGroundColor: Resour

本文来自网络,不代表协通编程立场,如若转载,请注明出处:https://net2asp.com/ca6ac98e0f.html