HarmonyOS 父子组件之间的传参传递数组

父子组件之间的传参传递数组,数组中的每一项是一个对象,这种情况子组件如何接收并监听刷新页面呢,比如数组中现在有对象一个,等几秒后添加第二个对象然后,子组件接收这个数据要能够数据变化渲染新的数据。

HarmonyOS
23h前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
aquaa

可参考demo

//Person类
class Person {
  public id: number;
  public name: string;

  constructor(id:number,name:string) {
    this.id = id;
    this.name = name;
  }
}
//子组件
@Component
struct Child {
  @Link personArr: Person[];
  build() {
    Column({space:5}) {
      Text('人员列表')
      List({ space: 20, initialIndex: 0 }) {
        ForEach(this.personArr, (item: Person) => {
          ListItem() {
            Text(){
              Span('id:'+item.id)
              Span('---')
              Span('姓名:'+item.name)
            }
            .width('100%').backgroundColor(Color.White).padding(10)
          }
        }, (item: Person) => item.id.toString())
      }
      .listDirection(Axis.Vertical) // 排列方向
      .width('90%')
    }
    .width('100%')
    .padding({ top: 5 })
  }
}
//父组件
@Entry
@Component
struct Index {
  @State persons: Person[] = [new Person(1,'张三1')];
  @State myId: number = 2;
  build() {
    Column({space:10}) {
      Child({personArr:this.persons})
      Button('增加人员')
        .onClick(()=>{
          this.persons.push(new Person(this.myId,'张三'+this.myId))
          this.myId++;
        })
      Button('减少人员')
        .onClick(()=>{
        this.persons.pop()
      })
    }
    .width('100%')
    .height('100%')
    .backgroundColor(Color.Pink)

  }
}
分享
微博
QQ
微信
回复
20h前
相关问题
关于处理父子组件事件传递方式
467浏览 • 1回复 待解决
arkts父子组件组件怎么通信值啊?
5399浏览 • 1回复 待解决
ArkTS自定义组件如何父子值?
423浏览 • 1回复 待解决
HarmonyOS POST请求
63浏览 • 1回复 待解决
HarmonyOS 页面问题
381浏览 • 1回复 待解决
HarmonyOS 本地html问题
287浏览 • 1回复 待解决
HarmonyOS 页面间如何
924浏览 • 1回复 待解决
HarmonyOS 参数问题
81浏览 • 1回复 待解决
HarmonyOS Navigation问题
33浏览 • 1回复 待解决
路由如何接?可否给个案例?
3198浏览 • 1回复 待解决
HarmonyOS HTTP使用Map问题
60浏览 • 1回复 待解决
HarmonyOS 调用flutter页面并
22浏览 • 1回复 待解决
HarmonyOS router跳转返回如何
0浏览 • 0回复 待解决
HarmonyOS router获取问题
555浏览 • 1回复 待解决
JS跳转Java问题?
4841浏览 • 1回复 待解决
网络请求-GET请求
563浏览 • 1回复 待解决