HarmonyOS setInterval回调之后@state修饰的变量对应的UI无法更新

setInterval回调之后@state修饰的变量对应的UI无法更新,onPageShow是可以正常更新的,控件中按钮的点击也是可以正常更新的。

HarmonyOS
2025-01-09 16:57:38
浏览
收藏 0
回答 1
回答 1
按赞同
/
按时间
zxjiu

参考示例如下:

@Entry
@Component
struct TestPage01 {
  @State timeNum: number = 5
  // 声明定时器
  timer: number = -1

  aboutToAppear(): void {
    this.timer = setInterval(() => {
      if (this.timeNum <= 0) {
        clearInterval(this.timer)
        return
      }
      this.timeNum -= 1
    }, 1000)

  }

  aboutToDisappear(): void {
    clearInterval(this.timer)
  }

  build() {
    Column() {
      Text(this.timeNum.toString())
        .fontSize(50)
    }
    .height('100%')
    .width('100%')
  }
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
分享
微博
QQ
微信
回复
2025-01-09 18:50:50
相关问题
@State 修饰变量值改变,界面不刷新
2385浏览 • 1回复 待解决
HarmonyOS @State无法更新组件文本
462浏览 • 1回复 待解决
HarmonyOS 组件渲染完成之后
668浏览 • 1回复 待解决