harmony学习状态管理State关键字

2024-03-12 22:13 harmony学习状态管理State关键字已关闭评论

需求

界面Text文本内容发生改变后,需要通知界面UI控件刷新,显示新文本的内容。

State关键字

State关键字装饰的变量,变量的值发生改变后,变量关联的控件会自动刷新,显示新的内容。

参考:harmony学习状态管理State关键字

// code by 每日教程teachcourse.cn
@Component
export struct DzTabHost {
  @State tab1: string = '首页'
  @State tab2: string = '任务列表'
  @State tab3: string = '我的'
  @State curPage: number = 1

  build() {
    Column() {
      // TabContent
      Column() {
        if (this.curPage == 0) {

          Text('我是首页')
            .fontSize($r('app.float.px32'))
            .fontColor(Color.Red)
        } else if (this.curPage == 1) {
          Text('我是任务列表')
            .fontSize($r('app.float.px32'))
            .fontColor(Color.Red)
        } else if (this.curPage == 2) {
          Text('我是个人中心')
            .fontSize($r('app.float.px32'))
            .fontColor(Color.Red)
        }
      }.layoutWeight(1)
      .width('100%')

      // Tab
      Row() {

        Text(this.tab1)
          .height('100%')
          .textAlign(TextAlign.Center)
          .border({ width: { right: $r('app.float.px1') }, color: Color.Grey })
          .layoutWeight(1)
          .onClick(() => {
            this.curPage = 0
          })

        Text(this.tab2)
          .height('100%')
          .textAlign(TextAlign.Center)
          .layoutWeight(1)
          .onClick(() => {
            this.curPage = 1
          })

        Text(this.tab3)
          .height('100%')
          .textAlign(TextAlign.Center)
          .border({ width: { left: $r('app.float.px1') }, color: Color.Grey })
          .layoutWeight(1)
          .onClick(() => {
            this.curPage = 2
          })
      }
      .width('100%')
      .height($r('app.float.px68'))
    }.width('100%')
    .height('100%')
  }
}

curPage使用State关键字装饰,点击Tab切换后改变了curPage的值,关联的Column()控件被刷新,显示if条件的内容。

当前文章价值7.89元,扫一扫支付后添加微信提供帮助!(如不能解决您的问题,可以申请退款)

你可能感兴趣的文章

来源:每日教程每日一例,深入学习实用技术教程,关注公众号TeachCourse
转载请注明出处: https://teachcourse.cn/3127.html ,谢谢支持!

资源分享

分类:harmony 标签:
Android开发之深入理解Builder设计模式 Android开发之深入理解Builder
避孕常见的误区 避孕常见的误区
OpenClaw CLI 命令参考手册 OpenClaw CLI 命令参考手册
Python函数返回多个参数例子 Python函数返回多个参数例子

评论已关闭!