@ohos.arkui.stateManagement (状态管理ArkTS1.2)
状态管理模块提供了应用程序动态刷新、UI数据存储、使能数据观察等能力。
说明:
本模块首批接口从API version 20开始支持,后续版本的新增接口,采用上角标单独标记接口的起始版本。
本模块仅适用于ArkTS1.2。
导入模块
import { UIUtils } from '@ohos.arkui.stateManagement';
UIUtils
UIUtils是状态管理提供的工具,用于处理可观察数据。
系统能力: SystemCapability.ArkUI.ArkUI.Full
makeObserved
static makeObserved<T extends object>(source: T): T
将不可观察数据转化为可观察数据。支持built-in类型(Array、Map、Set、Date)以及interface字面量。
系统能力: SystemCapability.ArkUI.ArkUI.Full
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| source | T | 是 | 数据源对象。 |
返回值:
| 类型 | 说明 |
|---|---|
| T | 可观察的数据对象。 |
示例:
import { Entry, Component, Column, Text, ClickEvent } from '@ohos.arkui.component';
import { State, UIUtils } from '@ohos.arkui.stateManagement';
interface Info {
name: string,
age: number
}
@Entry
@Component
struct Index {
// 装饰字面量
@State info: Info = UIUtils.makeObserved({ name: 'Jack', age: 25} as Info) as Info;
build() {
Column() {
Text(`info.name: ${this.info.name}, info.age: ${this.info.age}`)
.onClick((e: ClickEvent) => {
this.info.name = 'Tom';
this.info.age = 24;
})
}
}
}