HarmonyOS 鸿蒙Next 状态更新没有检测到

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

HarmonyOS 鸿蒙Next 状态更新没有检测到

组件如下:

@Component
export struct TestObservedComponent {

  @Provide('testViewModel') testViewModel: TestViewModel = new TestViewModel()
  aboutToAppear(): void {
    this.testViewModel.currentPoint.time = 1
  }

  build() {
    Column(){
      TestComponent()
    }
  }
}

@Component
struct TestComponent {

  @State knowLedgeList: Point[] = [new Point(1),new Point(2),new Point(3)]
  @Consume('testViewModel') testViewModel: TestViewModel

  build() {
    Column(){
      List() {
        ForEach(this.knowLedgeList, (model: Point, index: number) => {
          ListItem(){
            TestItemComponent({
              point: model,
              currentPoint: this.testViewModel.currentPoint,
              selectPoint: this.selectAction
            })
          }
        })
      }
      .width('100%')
      .height('100%')
      .margin({
        top: 10,
        left:10
      })
    }
  }

  selectAction = (pointModel: Point) => {
    this.testViewModel.changePoint(pointModel)
  }
}

@Component
struct TestItemComponent {
  point: Point = new Point()
  // @Prop currentPoint: Point
  @ObjectLink currentPoint: Point
  selectPoint?: (pointModel: Point) => void

  build() {
    Text(`${this.point.time} - ${this.currentPoint.time}----`)
      .width(100)
      .height(100)
      .onClick(this.onSelectPoint)
  }

  onSelectPoint = () => {
    this.selectPoint?(this.currentPoint)
  }
}

状态变量如下:

@Observed
export class TestViewModel {
  currentPoint: Point = new Point()

  changePoint(pointModel: Point) {
    this.currentPoint = pointModel
  }
}

@Observed
export class Point{
  time: number = 0
  
  constructor(time: number = 0) {
    this.time = time
  }
}

点击更新状态, 没有反应


更多关于HarmonyOS 鸿蒙Next 状态更新没有检测到的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html

1 回复

更多关于HarmonyOS 鸿蒙Next 状态更新没有检测到的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


针对帖子标题“HarmonyOS 鸿蒙Next 状态更新没有检测到”的问题,这里提供以下专业回答:

在HarmonyOS鸿蒙系统中,如果Next状态更新没有被检测到,可能的原因包括但不限于:

  1. 系统缓存问题:有时系统缓存可能导致更新检测机制失效。尝试重启设备,看是否能解决问题。

  2. 网络问题:确保设备已连接到稳定的网络,因为更新检测需要网络连接以获取服务器上的更新信息。

  3. 更新设置:检查设备的更新设置,确保已开启自动更新或手动检查更新的功能。

  4. 版本兼容性:确认当前设备型号和系统版本是否支持即将安装的更新。某些更新可能仅适用于特定型号或系统版本。

  5. 服务器状态:服务器维护或故障也可能导致更新无法被检测到。此时,可以稍后再试或查看官方公告了解服务器状态。

如果以上方法均未能解决问题,可能是设备或系统存在特定故障。此时,建议直接联系官网客服以获取更专业的帮助。官网客服团队将能够提供更详细的诊断和解决方案。

如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部