HarmonyOS 怎么实现状态变量变化时,触发指定函数

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

参考示例如下:

// xxx.ets
import { window } from '@kit.ArkUI'
import { BusinessError } from '@kit.BasicServicesKit'

@Entry
@Component
struct ScrollExample {
  scroller: Scroller = new Scroller()
  @State testRowStr: string = '50%'
  @State widthDia: string = '50%'
  @StorageProp('name') @Watch('doUIState') name: string = ''
  @State UIState: number = 0

  aboutToAppear(): void {
    AppStorage.setOrCreate('name', '小明')
    console.log(`qwer ===From AppStorage ${this.name}`)
  }

  doUIState() {
    //按value的值,更新UIState
    if (this.name == '小明') {
      this.UIState = 0
    } else {
      this.UIState = 1
    }

  }

  build() {
    Column() {
      Column() {
        Text('更新性别')
          .fontSize(20)
          .onClick(() => {
            if (this.name == '小明') {
              AppStorage.setOrCreate('name', '小花')
            } else {
              AppStorage.setOrCreate('name', '小明')
            }
          })
        Text(this.UIState == 0 ? '男' : '女')
          .fontSize(20)
          .onClick(() => {
          })
      }.width('100%').height('100%').backgroundColor(Color.Orange)
      .backgroundColor(Color.Gray)
    }.width('100%').height('100%').backgroundColor(0xDCDCDC)
  }
}
分享
微博
QQ
微信
回复
2天前
相关问题
ArkTS中如何监听状态变量变化
1177浏览 • 1回复 待解决
HarmonyOS constraintSize支持状态变量
235浏览 • 1回复 待解决
状态变量和常规变量有什么区别?
637浏览 • 2回复 待解决
HarmonyOS 状态变量不刷新问题
658浏览 • 1回复 待解决
HarmonyOS taskpool参数是状态变量crash
43浏览 • 1回复 待解决
关于状态变量@state必须知道的事
1387浏览 • 1回复 待解决