HarmonyOS 如何把一个使用@ObservedV2修饰的类传给子组件

@ObservedV2
export class LocationBean {
  @Trace
  name: string
  desc?: string
  latitude?: number
  longitude?: number
  @Trace
  isFavorites: boolean = false
  constructor(name: string) {
    this.name = name
  }
}

当通过定位获取到值的时候更新startLocation,然后子组件更新name字段。

HarmonyOS
2025-01-09 15:36:13
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
Excelsior_abit

参考示例如下:

import show from './ShowText'

@ObservedV2
class Person {
  @Trace
  name?: string

  constructor(name: string) {
    this.name = name
  }
}

@Entry
@Component
struct ObservedV2IndexPage {
  private person: Person = new Person('小李')

  build() {
    Column() {
      show({ person: this.person })
      Button("确定")
        .onClick(() => {
          this.person.name = "小王"
        })
    }
    .height('100%')
    .width('100%')
  }
}
// ShowText.ets
@ObservedV2
class Person {
  @Trace
  name?: string

  constructor(name: string) {
    this.name = name
  }
}

@Component
export default struct ShowText {
  @State message: string = 'Hello World';
  person?: Person

  build() {
    Column() {
      Text(this.person?.name)
        .fontSize(16)
        .fontWeight(FontWeight.Bold)
    }
  }
}
分享
微博
QQ
微信
回复
2025-01-09 18:37:14
相关问题
HarmonyOS @ObservedV2不支持{} as Father对象
344浏览 • 1回复 待解决
HarmonyOS如何获取一个名称
1465浏览 • 4回复 待解决