HarmonyOS 鸿蒙Next 使用contact追加二维数组,UI没变化

发布于 1周前 作者 ionicwang 来自 鸿蒙OS

HarmonyOS 鸿蒙Next 使用contact追加二维数组,UI没变化

使用加载更多,请求数据,数据成功获取 使用contact追加二维数组 ,UI没变化

2 回复

参考此demo:

[@Observed](/user/Observed)

export class Employee {

  useId: string = “”

}

@Observed

export class EmployeeList {

  employeeList: Employee[] = []

}

@Observed

export class EmployeeListResponse {

  orgUserList: EmployeeList[] = []

}

@Entry

@Component

struct Index {

  @State employeeData: EmployeeListResponse = {

    orgUserList: [

      {employeeList:[{useId:“1”}, {useId:“2”}, {useId:“3”}]},

      {employeeList:[{useId:“41”}, {useId:“42”}, {useId:“43”},]},

      {employeeList:[{useId:“51”}, {useId:“52”}, {useId:“53”},]},

    ]

  }

  build() {

    Column() {

      Button(“添加”).onClick(() => {

        this.employeeData.orgUserList = this.employeeData.orgUserList.concat([ {employeeList:[{useId:“3”}, {useId:“6”}, {useId:“9”}]},])

      })

      ForEach(this.employeeData.orgUserList, (item: EmployeeList, index) => {

        ForEach(item.employeeList, (el: Employee, childIndex) => {

          Text(el.useId)

        })

      })

    }

    .height(‘100%’)

    .width(‘100%’)

  }

}<button style="position: absolute; padding: 4px 8px 0px; cursor: pointer; top: 8px; right: 8px; font-size: 14px;">复制</button>

onReachEnd:List边缘效果为弹簧效果时,划动经过末尾位置时触发一次,回弹回末尾位置时再触发一次。

onReachStart:List初始化时如果initialIndex为0会触发一次,List滚动到起始位置时触发一次。List边缘效果为弹簧效果时,划动经过起始位置时触发一次,回弹回起始位置时再触发一次。

List边缘效果默认值就是spring弹簧模式,所以会触发两次

更多关于HarmonyOS 鸿蒙Next 使用contact追加二维数组,UI没变化的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS鸿蒙Next系统中,如果你在尝试使用contact API追加二维数组后发现UI没有变化,这通常是由于数据绑定或UI刷新机制未正确触发所导致的。以下是一些可能的原因及检查点:

  1. 数据绑定检查:确保你的二维数组数据已经正确绑定到UI组件上。在鸿蒙系统中,通常需要使用数据绑定表达式来连接数据源和UI元素。

  2. UI刷新:在数据更改后,确保调用了适当的刷新方法或通知机制来更新UI。例如,如果使用了自定义组件或列表,可能需要手动刷新列表或重新渲染组件。

  3. 线程问题:鸿蒙系统对UI更新有线程限制,确保你的数据更新操作是在UI线程(主线程)上执行的。如果不是,请使用异步消息传递机制(如Handler)来更新UI。

  4. 数组内容:验证你追加到二维数组中的数据是否有效,并且确实被正确添加到了数组中。

  5. 日志调试:使用鸿蒙系统的日志工具打印相关信息,检查数据是否按预期被处理。

如果以上检查点都确认无误但问题依旧存在,那么可能是系统或框架层面的bug。此时,如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html。

回到顶部