From ebdf9ca6cceb7b72a80782227e9b01bbfd44fbdc Mon Sep 17 00:00:00 2001 From: tianyu Date: Sun, 9 Oct 2022 16:21:22 +0800 Subject: [PATCH] update-ui Signed-off-by: tianyu --- .../application-dev/quick-start/Readme-CN.md | 11 + .../ets-dynamically-build-ui-elememts.md | 344 +++++++++++++ .../quick-start/ets-language.md | 28 + .../ets-managing-application-states.md | 236 +++++++++ .../ets-managing-component-states.md | 481 ++++++++++++++++++ .../ets-state-management-concepts.md | 30 ++ .../quick-start/ets-syntactic-usage.md | 269 ++++++++++ zh-cn/application-dev/quick-start/ets-ui.md | 195 +++++++ .../ets-usage-restrictions-and-extensions.md | 72 +++ .../{ui => quick-start}/figures/@state.png | Bin .../{ui => quick-start}/figures/@state1.gif | Bin .../CoreSpec_figures_state-mgmt-overview.png | Bin 0 -> 30374 bytes .../quick-start/figures/Observed.gif | Bin 0 -> 158636 bytes .../quick-start/figures/PersistentStorage.gif | Bin 0 -> 37957 bytes .../quick-start/figures/appstorage.gif | Bin 0 -> 153934 bytes .../figures/custom-dialog-demo.gif | Bin .../quick-start/figures/forEach.gif | Bin 0 -> 37705 bytes .../figures/zh-cn_image_0000001206450834.png | Bin .../figures/zh-cn_image_0000001251090821.png | Bin .../arkui-js/js-components-canvas-image.md | 27 +- zh-cn/application-dev/ui/Readme-CN.md | 39 +- .../ts-application-states-apis-environment.md | 32 -- ...plication-states-apis-persistentstorage.md | 46 -- .../ui/ts-application-states-appstorage.md | 101 ---- .../ui/ts-attribution-configuration.md | 40 -- .../ui/ts-child-component-configuration.md | 47 -- .../ui/ts-component-based-component.md | 121 ----- .../ui/ts-component-based-customdialog.md | 51 -- .../ui/ts-component-based-entry.md | 35 -- .../ui/ts-component-based-extend.md | 32 -- .../ui/ts-component-based-preview.md | 61 --- .../ui/ts-component-based-styles.md | 74 --- .../ui/ts-component-states-link.md | 137 ----- .../ui/ts-component-states-prop.md | 70 --- .../ui/ts-component-states-state.md | 106 ---- ...configuration-with-mandatory-parameters.md | 33 -- .../ui/ts-event-configuration.md | 36 -- zh-cn/application-dev/ui/ts-function-build.md | 14 - .../ui/ts-general-ui-concepts.md | 50 -- .../ui/ts-other-states-consume-provide.md | 73 --- .../ui/ts-other-states-observed-objectlink.md | 183 ------- .../ui/ts-other-states-watch.md | 46 -- .../ui/ts-parameterless-configuration.md | 13 - .../ui/ts-rending-control-syntax-foreach.md | 142 ------ .../ui/ts-rending-control-syntax-if-else.md | 44 -- .../ts-rending-control-syntax-lazyforeach.md | 191 ------- .../application-dev/ui/ts-syntactic-sugar.md | 197 ------- zh-cn/application-dev/ui/ts-syntax-intro.md | 14 - .../ui/ts-ui-state-mgmt-concepts.md | 29 -- .../application-dev/ui/ui-ts-local-storage.md | 359 ------------- 50 files changed, 1681 insertions(+), 2428 deletions(-) create mode 100644 zh-cn/application-dev/quick-start/ets-dynamically-build-ui-elememts.md create mode 100644 zh-cn/application-dev/quick-start/ets-language.md create mode 100644 zh-cn/application-dev/quick-start/ets-managing-application-states.md create mode 100644 zh-cn/application-dev/quick-start/ets-managing-component-states.md create mode 100644 zh-cn/application-dev/quick-start/ets-state-management-concepts.md create mode 100644 zh-cn/application-dev/quick-start/ets-syntactic-usage.md create mode 100644 zh-cn/application-dev/quick-start/ets-ui.md create mode 100644 zh-cn/application-dev/quick-start/ets-usage-restrictions-and-extensions.md rename zh-cn/application-dev/{ui => quick-start}/figures/@state.png (100%) rename zh-cn/application-dev/{ui => quick-start}/figures/@state1.gif (100%) create mode 100644 zh-cn/application-dev/quick-start/figures/CoreSpec_figures_state-mgmt-overview.png create mode 100644 zh-cn/application-dev/quick-start/figures/Observed.gif create mode 100644 zh-cn/application-dev/quick-start/figures/PersistentStorage.gif create mode 100644 zh-cn/application-dev/quick-start/figures/appstorage.gif rename zh-cn/application-dev/{ui => quick-start}/figures/custom-dialog-demo.gif (100%) create mode 100644 zh-cn/application-dev/quick-start/figures/forEach.gif rename zh-cn/application-dev/{ui => quick-start}/figures/zh-cn_image_0000001206450834.png (100%) rename zh-cn/application-dev/{ui => quick-start}/figures/zh-cn_image_0000001251090821.png (100%) delete mode 100644 zh-cn/application-dev/ui/ts-application-states-apis-environment.md delete mode 100644 zh-cn/application-dev/ui/ts-application-states-apis-persistentstorage.md delete mode 100644 zh-cn/application-dev/ui/ts-application-states-appstorage.md delete mode 100644 zh-cn/application-dev/ui/ts-attribution-configuration.md delete mode 100644 zh-cn/application-dev/ui/ts-child-component-configuration.md delete mode 100644 zh-cn/application-dev/ui/ts-component-based-component.md delete mode 100644 zh-cn/application-dev/ui/ts-component-based-customdialog.md delete mode 100644 zh-cn/application-dev/ui/ts-component-based-entry.md delete mode 100644 zh-cn/application-dev/ui/ts-component-based-extend.md delete mode 100644 zh-cn/application-dev/ui/ts-component-based-preview.md delete mode 100644 zh-cn/application-dev/ui/ts-component-based-styles.md delete mode 100644 zh-cn/application-dev/ui/ts-component-states-link.md delete mode 100644 zh-cn/application-dev/ui/ts-component-states-prop.md delete mode 100644 zh-cn/application-dev/ui/ts-component-states-state.md delete mode 100644 zh-cn/application-dev/ui/ts-configuration-with-mandatory-parameters.md delete mode 100644 zh-cn/application-dev/ui/ts-event-configuration.md delete mode 100644 zh-cn/application-dev/ui/ts-function-build.md delete mode 100644 zh-cn/application-dev/ui/ts-general-ui-concepts.md delete mode 100644 zh-cn/application-dev/ui/ts-other-states-consume-provide.md delete mode 100644 zh-cn/application-dev/ui/ts-other-states-observed-objectlink.md delete mode 100644 zh-cn/application-dev/ui/ts-other-states-watch.md delete mode 100644 zh-cn/application-dev/ui/ts-parameterless-configuration.md delete mode 100644 zh-cn/application-dev/ui/ts-rending-control-syntax-foreach.md delete mode 100644 zh-cn/application-dev/ui/ts-rending-control-syntax-if-else.md delete mode 100644 zh-cn/application-dev/ui/ts-rending-control-syntax-lazyforeach.md delete mode 100644 zh-cn/application-dev/ui/ts-syntactic-sugar.md delete mode 100644 zh-cn/application-dev/ui/ts-syntax-intro.md delete mode 100644 zh-cn/application-dev/ui/ts-ui-state-mgmt-concepts.md delete mode 100644 zh-cn/application-dev/ui/ui-ts-local-storage.md diff --git a/zh-cn/application-dev/quick-start/Readme-CN.md b/zh-cn/application-dev/quick-start/Readme-CN.md index 781fc31854..59d4458103 100755 --- a/zh-cn/application-dev/quick-start/Readme-CN.md +++ b/zh-cn/application-dev/quick-start/Readme-CN.md @@ -5,8 +5,19 @@ - [使用eTS语言开发(Stage模型)](start-with-ets-stage.md) - [使用eTS语言开发(FA模型)](start-with-ets-fa.md) - [使用JS语言开发(FA模型)](start-with-js-fa.md) + - 开发基础知识 - [应用包结构说明(FA模型)](package-structure.md) - [应用包结构说明(Stage模型)](stage-structure.md) + - [初始ets语言](ets-language.md) + - eTS语法(声明式UI) + - [基本UI描述](ets-ui.md) + - 状态管理 + - [基本概念](ets-state-management-concepts.md) + - [页面级变量的状态管理](ets-managing-component-states.md) + - [应用级变量的状态管理](ets-managing-application-states.md) + - [动态构建UI元素](ets-dynamically-build-ui-elememts.md) + - [渲染控制](ets-syntactic-usage.md) + - [使用限制与扩展](ets-usage-restrictions-and-extensions.md) - [SysCap说明](syscap.md) - [HarmonyAppProvision配置文件](app-provision-structure.md) \ No newline at end of file diff --git a/zh-cn/application-dev/quick-start/ets-dynamically-build-ui-elememts.md b/zh-cn/application-dev/quick-start/ets-dynamically-build-ui-elememts.md new file mode 100644 index 0000000000..be7c8c0a78 --- /dev/null +++ b/zh-cn/application-dev/quick-start/ets-dynamically-build-ui-elememts.md @@ -0,0 +1,344 @@ +# 动态构建UI元素 + +前面章节介绍的是如何创建一个组件内部UI结构固定的自定义组件,为了满足开发者自定义组件内部UI结构的需求,eTS同时提供了动态构建UI元素的能力。 + +## @Builder + + +可通过@Builder装饰器进行描述,该装饰器可以修饰一个函数,此函数可以在build函数之外声明,并在build函数中或其他@Builder修饰的函数中使用,在一个自定义组件内快速生成多个布局内容。使用方式如下面示例所示。 + + +```ts +// xxx.ets + +@Component +struct CompB { + @State CompValue: string = ''; + + aboutToAppear() { + console.info('CompB aboutToAppear.'); + } + + aboutToDisappear() { + console.info('CompB aboutToDisappear.'); + } + + build() { + Column() { + Button(this.CompValue); + } + } +} + +@Entry +@Component +struct CompA { + size1: number = 100; + @State CompValue1: string = "Hello,CompValue1"; + @State CompValue2: string = "Hello,CompValue2"; + @State CompValue3: string = "Hello,CompValue3"; + + // @Builder装饰的函数内使用自定义组件 + @Builder CompC(value: string) { + CompB({ CompValue: value }); + } + + @Builder SquareText(label: string) { + Text(label) + .width(1 * this.size1) + .height(1 * this.size1) + } + + @Builder RowOfSquareTexts(label1: string, label2: string) { + Row() { + this.SquareText(label1) + this.SquareText(label2) + } + .width(2 * this.size1) + .height(1 * this.size1) + } + + build() { + Column() { + Row() { + this.SquareText("A") + this.SquareText("B") + // or as long as tsc is used + } + .width(2 * this.size1) + .height(1 * this.size1) + + this.RowOfSquareTexts("C", "D") + Column() { + // 使用三次@Builder装饰的自定义组件 + this.CompC(this.CompValue1); + this.CompC(this.CompValue2); + this.CompC(this.CompValue3); + } + .width(2 * this.size1) + .height(2 * this.size1) + } + .width(2 * this.size1) + .height(2 * this.size1) + } +} +``` +## @BuilderParam8+ + +@BuilderParam装饰器用于修饰自定义组件内函数类型的属性(例如:`@BuilderParam content: () => any;`),并且在初始化自定义组件时被@BuilderParam修饰的属性必须赋值。 + +### 引入动机 + +当开发者创建自定义组件,想对该组件添加特定功能时(如:仅对自定义组件添加一个点击跳转操作)。若直接在组件内嵌入事件方法,将会导致所有初始化该组件的地方均增加了该功能。为解决此问题,引入了@BuilderParam装饰器,此装饰器修饰的属性值可为@Builder修饰的方法,开发者可在初始化自定义组件时对此属性进行赋值,为自定义组件增加特定的的功能。 + +### 参数初始化组件 + +通过参数初始化组件时,将@Builder装饰的方法赋值给@BuilderParam修饰的属性,并在自定义组件内调用content属性值。对@BuilderParam修饰的属性进行赋值时不带参数(如:`content: this.specificParam`),则此属性的类型需定义成无返回值的函数(如:`@BuilderParam content: () => void`)。若带参数(如:`callContent: this.specificParam1("111")`),则此属性的类型需定义成any(如:`@BuilderParam callContent: any;`)。 + +```ts +// xxx.ets +@Component +struct CustomContainer { + header: string = ""; + @BuilderParam noParam: () => void; + @BuilderParam withParam: any; + footer: string = ""; + build() { + Column() { + Text(this.header) + .fontSize(50) + this.noParam() + this.withParam() + Text(this.footer) + .fontSize(50) + } + } +} + +@Entry +@Component +struct CustomContainerUser { + @Builder specificNoParam() { + Column() { + Text("noParam").fontSize(50) + } + } + @Builder SpecificWithParam(label: string) { + Column() { + Text(label).fontSize(50) + } + } + + build() { + Column() { + CustomContainer({ + header: "Header", + noParam: this.specificNoParam, + withParam: this.SpecificWithParam("WithParam"), + footer: "Footer", + }) + } + } +} +``` + +### 尾随闭包初始化组件 + +在自定义组件中使用@BuilderParam修饰的属性接收尾随闭包(在初始化自定义组件时,组件名称紧跟一个大括号“{}”形成尾随闭包场景(`CustomComponent(){}`)。开发者可把尾随闭包看做一个容器,向其填充内容,如在闭包内增加组件(`{Column(){Text("content")}`),闭包内语法规范与build函数一致。此场景下自定义组件内有且仅有一个使用@BuilderParam修饰的属性。 + +示例:在闭包内增加Column组件并添加点击事件,在新增的Column组件内调用@Builder修饰的specificParam方法,点击Column组件后该改变自定义组件中header的属性值为“changeHeader”。并且在初始化自定义组件时会把尾随闭包的内容赋值给使用@BuilderParam修饰的closer属性。 + +```ts +// xxx.ets +@Component +struct CustomContainer { + header: string = ""; + @BuilderParam closer: () => void; + build() { + Column() { + Text(this.header) + .fontSize(50) + this.closer() + } + } +} +@Builder function specificParam(label1: string, label2: string) { + Column() { + Text(label1) + .fontSize(50) + Text(label2) + .fontSize(50) + } +} +@Entry +@Component +struct CustomContainerUser { + @State text: string = "header" + build() { + Column() { + CustomContainer({ + header: this.text, + }){ + Column(){ + specificParam("111", "22") + }.onClick(()=>{ + this.text = "changeHeader" + }) + } + } + } +} +``` + +## @Styles + +eTS为了避免开发者对重复样式的设置,通过@Styles装饰器可以将多条样式设置提炼成一个方法,直接在组件声明的位置使用。@Styles装饰器将新的属性函数添加到基本组件上,如Text、Column、Button等。当前@Styles仅支持通用属性。通过@Styles装饰器可以快速定义并复用组件的自定义样式。 + +@Styles可以定义在组件内或组件外,在组件外定义时需在方法前添加function关键字,组件内定义时不需要添加function关键字。 + +```ts +// xxx.ets +@Styles function globalFancy() { + .backgroundColor(Color.Red) +} + +@Entry +@Component +struct FancyUse { + @Styles componentFancy() { + .backgroundColor(Color.Blue) + } + build() { + Column({ space: 10 }) { + Text("Fancy") + .globalFancy() + .width(100) + .height(100) + .fontSize(30) + Text("Fancy") + .componentFancy() + .width(100) + .height(100) + .fontSize(30) + } + } +} +``` + +@Styles还可以在[StateStyles](../reference/arkui-ts/ts-universal-attributes-polymorphic-style.md)属性内部使用,在组件处于不同的状态时赋予相应的属性。 + +在StateStyles内可以直接调用组件外定义的Styles,但需要通过this关键字调用组件内定义的Styles。 + +```ts +// xxx.ets +@Styles function globalFancy() { + .width(100) + .height(100) +} + +@Entry +@Component +struct FancyUse { + @Styles componentFancy() { + .width(50) + .height(50) + } + build() { + Row({ space: 10 }) { + Button() { + Text("Fancy") + } + .stateStyles({ + normal: { + .width(80) + .height(80) + }, + disabled: this.componentFancy, + pressed: globalFancy + }) + } + } +} +``` + +## @Extend + +@Extend装饰器将新的属性函数添加到内置组件上,如Text、Column、Button等。通过@Extend装饰器可以快速的扩展原生组件。@Extend装饰器不能用在自定义组件struct定义框内。 + +```ts +// xxx.ets +@Extend(Text) function fancy(fontSize: number) { + .fontColor(Color.Red) + .fontSize(fontSize) + .fontStyle(FontStyle.Italic) +} + +@Entry +@Component +struct FancyUse { + build() { + Row({ space: 10 }) { + Text("Fancy") + .fancy(16) + Text("Fancy") + .fancy(24) + } + } +} +``` + +> **说明:** +> +> - @Extend装饰器不能用在自定义组件struct定义框内。 +> - @Extend装饰器内仅支持属性函数语句。 + +## @CustomDialog + +@CustomDialog装饰器用于装饰自定义弹窗,使得弹窗可以动态设置样式。 + +```ts +// custom-dialog-demo.ets +@CustomDialog +struct DialogExample { + controller: CustomDialogController; + action: () => void; + + build() { + Row() { + Button ("Close CustomDialog") + .onClick(() => { + this.controller.close(); + this.action(); + }) + }.padding(20) + } +} + +@Entry +@Component +struct CustomDialogUser { + dialogController : CustomDialogController = new CustomDialogController({ + builder: DialogExample({action: this.onAccept}), + cancel: this.existApp, + autoCancel: true + }); + + onAccept() { + console.log("onAccept"); + } + existApp() { + console.log("Cancel dialog!"); + } + + build() { + Column() { + Button("Click to open Dialog") + .onClick(() => { + this.dialogController.open() + }) + } + } +} +``` + +![custom-dialog-demo](figures/custom-dialog-demo.gif) \ No newline at end of file diff --git a/zh-cn/application-dev/quick-start/ets-language.md b/zh-cn/application-dev/quick-start/ets-language.md new file mode 100644 index 0000000000..c5f0b9b6f7 --- /dev/null +++ b/zh-cn/application-dev/quick-start/ets-language.md @@ -0,0 +1,28 @@ +# 初始eTs语言 + +eTS(extended TypeScript)是OpenHarmony优选的主力应用开发语言。eTS基于TypeScript(简称TS)语言扩展而来,是TS的超集。 + +- eTS继承了TS的所有特性。 + +- 当前,eTS在ts基础上主要扩展了[声明式UI](ets-ui.md)能力,让开发者以更简洁、更自然的方式开发高性能应用。 + + 当前扩展的声明式UI包括如下特性。 + + - [基本UI描述](ets-state-management-concepts.md):eTS定义了各种装饰器、自定义组件、UI描述机制,再配合UI开发框架中的UI内置组件、事件方法、属性方法等共同构成了UI开发的主体。 + - [状态管理](ets-managing-component-states.md):eTS提供了多维度的状态管理机制,在UI开发框架中,和UI相关联的数据,不仅可以在组件内使用,还可以在不同组件层级间传递,比如父子组件之间、爷孙组件之间,也可以是全局范围内的传递,还可以是 跨设备传递。另外,从数据的传递形式来看,可分为只读的单向传递和可变更的双向传递。开发者可以灵活的利用这些能力来实现数据和UI的联动。 + - [动态构建UI元素](ets-dynamically-build-ui-elememts.md):eTS提供了动态构建UI元素的能力,不仅可以自定义组件内部的UI结构,还可复用组件样式,扩展原生组件。 + - [渲染控制](ets-syntactic-usage.md):eTS提供了渲染控制的能力。条件渲染可根据应用的不同状态,渲染对应状态下的部分内容。循环渲染可从数据源中迭代获取数据,并在每次迭代过程中创建相应的组件。 + - [使用限制与扩展](ets-usage-restrictions-and-extensions.md):eTS在使用过程中存在限制与约束,同时也扩展了双向绑定等能力。 + +- 未来,eTS会结合应用开发/运行的需求持续演进,逐步提供并行和并发能力增强、类型系统增强、分布式开发范式等更多特性。 + +下面我们以一个具体的示例来说明eTS的基本组成。如下图所示的代码示例,UI界面会两段文本和一个按钮,当开发者点击按钮时,文本内容会从'Hello World'变为 'Hello ArkUI'。 + +这个示例中所包含的eTS声明式开发范式的基本组成说明如下: + +- 装饰器: 用于装饰类、结构、方法以及变量,赋予其特殊的含义,如上述示例中@Entry、@Component和@State都是装饰器。 具体而言,@Component表示这是个自定义组件;@Entry则表示这是个入口组件;@State表示组件中的状态变量,这个状态变换会引起UI变更。 +- 自定义组件:可复用的UI单元,可组合其他组件,如上述被@Component装饰的struct Hello。 +- UI描述:声明式的方法来描述UI的结构,例如build()方法中的代码块。 +- 内置组件:eTS中默认内置的基本组件和布局组件,开发者可以直接调用,如Column、Text、Divider、Button等。 +- 属性方法:用于组件属性的配置,如fontSize()、width()、height()、color()等,可通过链式调用的方式设置多项属性。 +- 事件方法:用于添加组件对事件的响应逻辑,统一通过事件方法进行设置,如跟随在Button后面的onClick()。 \ No newline at end of file diff --git a/zh-cn/application-dev/quick-start/ets-managing-application-states.md b/zh-cn/application-dev/quick-start/ets-managing-application-states.md new file mode 100644 index 0000000000..ad94463042 --- /dev/null +++ b/zh-cn/application-dev/quick-start/ets-managing-application-states.md @@ -0,0 +1,236 @@ +# 应用级变量的状态变量 + +在前面的章节中,已经讲述了如何管理页面级变量的状态,本章将说明如何管理应用级变量的状态。 + +## AppStorage + +AppStorage是应用程序中的单例对象,由UI框架在应用程序启动时创建,在应用程序退出时销毁,为应用程序范围内的可变状态属性提供中央存储。 + +AppStorage包含整个应用程序中需要访问的所有状态属性,只要应用程序保持运行,AppStorage就会保存所有属性及属性值,属性值可以通过唯一的键值进行访问。 + + +组件可以通过装饰器将应用程序状态数据与AppStorage进行同步,应用业务逻辑的实现也可以通过接口访问AppStorage。 + + +AppStorage的选择状态属性可以与不同的数据源或数据接收器同步,这些数据源和接收器可以是设备上的本地或远程,并具有不同的功能,如数据持久性。这样的数据源和接收器可以独立于UI在业务逻辑中实现。 + +默认情况下,AppStorage中的属性是可变的,AppStorage还可使用不可变(只读)属性。 + + AppStorage的具体接口请参考[状态管理]() + +### @StorageLink装饰器 + +组件通过使用@StorageLink(key)装饰的状态变量,与AppStorage建立双向数据绑定,key为AppStorage中的属性键值。当创建包含@StorageLink的状态变量的组件时,该状态变量的值将使用AppStorage中的值进行初始化。在UI组件中对@StorageLink的状态变量所做的更改将同步到AppStorage,并从AppStorage同步到任何其他绑定实例中,如PersistentStorage或其他绑定的UI组件。 + +### @StorageProp装饰器 + +组件通过使用@StorageProp(key)装饰的状态变量,将与AppStorage建立单向数据绑定,key标识AppStorage中的属性键值。当创建包含@StoageProp的状态变量的组件时,该状态变量的值将使用AppStorage中的值进行初始化。AppStorage中的属性值的更改会导致绑定的UI组件进行状态更新。 + +## 示例 + +每次用户单击Count按钮时,this.varA变量值都会增加,此变量与AppStorage中的varA同步。每次用户单击当前语言按钮时,修改AppStorage中的languageCode,此修改会同步给this.lang变量。 + +```ts +// xxx.ets + +@Entry +@Component +struct ComponentA { + @StorageLink('varA') varA: number = 2 + @StorageProp('languageCode') lang: string = 'en' + private label: string = 'count' + + aboutToAppear() { + this.label = (this.lang === 'zh') ? '数' : 'Count' + } + + build() { + Column(){ + Row({ space: 20 }) { + Button(`${this.label}: ${this.varA}`) + .onClick(() => { + AppStorage.Set('varA', AppStorage.Get('varA') + 1) + }) + Button(`lang: ${this.lang}`) + .onClick(() => { + if (this.lang === 'zh') { + AppStorage.Set('languageCode', 'en') + } else { + AppStorage.Set('languageCode', 'zh') + } + this.label = (this.lang === 'zh') ? '数' : 'Count' + }) + } + .margin({ bottom: 50 }) + Row(){ + Button(`更改@StorageLink修饰的变量:${this.varA}`).fontSize(10) + .onClick(() => { + this.varA++ + }) + }.margin({ bottom: 50 }) + Row(){ + Button(`更改@StorageProp修饰的变量:${this.lang}`).fontSize(10) + .onClick(() => { + this.lang = 'test' + }) + } + } + } +} +``` + + ![appstorage](figures/appstorage.gif) + +## LocalStorage + +> **说明:** 该组件从API version 9开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。 + +LocalStorage是应用程序中的存储单元,生命周期跟随其关联的Ability。LocalStorage为应用程序范围内的可变状态属性和非可变状态属性提供存储,可变状态属性和非可变状态属性是构建应用程序UI的一部分,如一个Ability的UI。 + +应用层:一个应用程序可以创建多个LocalStorage实例,应用程序的每一个Ability对应一个LocalStorage实例。 + +Ability: 一个应用程序可以拥有多个Ability,一个Ability中的所有子组件最多可以分配一个LocalStorage实例。并且,Ability中的所有子组件都将继承对此LocalStorage实例存储对象的访问权。 + +一个组件最多可以访问一个LocalStorage实例,一个LocalStorage对象可以分配给多个组件。 + +## @LocalStorageLink装饰器 + +组件通过使用@LocalStorageLink(key)装饰的状态变量,key值为LocalStorage中的属性键值,与LocalStorage建立双向数据绑定。当创建包含@LocalStorageLink的状态变量的组件时,该状态变量的值将会使用LocalStorage中的值进行初始化。如果LocalStorage中未定义初始值,将使用@LocalStorageLink定义的初始值。在UI组件中对@LocalStorageLink的状态变量所做的更改将同步到LocalStorage中,并从LocalStorage同步到Ability下的组件中。 + +## @LocalStorageProp装饰器 + +组件通过使用LocalStorageProp(key)装饰的状态变量,key值为LocalStorage中的属性键值,与LocalStorage建立单向数据绑定。当创建包含@LocalStorageProp的状态变量的组件时,该状态变量的值将使用LocalStorage中的值进行初始化。LocalStorage中的属性值的更改会导致当前Ability下的所有UI组件进行状态更新。 + +> **说明:** 创建LocalStorage实例时如未定义初始值,可以使用组件内@LocalStorageLink和@LocalStorageProp的初始值。如果定义时给定了初始值,那么不会再使用@LocalStorageLink和@LocalStorageProp的初始值。 + +### 示例1(在一个Ability创建的LocalStorage) + +LocalStorage通过loadContent接口加载,接口详见[loadContent](../reference/apis/js-apis-window.md#loadcontent9-1)。 + +``` +import Ability from '@ohos.application.Ability' +export default class MainAbility extends Ability { + storage : LocalStorage + onCreate() { + this.storage = new LocalStorage(); + this.storage.setOrCreate("storageSimpleProp",121); + console.log("[Demo MainAbility onCreate]"); + } + onDestroy() { + console.log("[Demo MainAbility onDestroy]") + } + onWindowStageCreate(windowStage) { + // storage作为参数传递给loadContent接口。 + windowStage.loadContent("pages/index",this.storage) + } + onWindowStageDestroy() { + console.log("[Demo] MainAbility onWindoeStageDestroy") + } + onForeground() { + console.log("[Demo] MainAbility onForeground") + } + onBackground() { + console.log("[Demo] MainAbility onBackground") + } +} +``` + +@Component组件获取数据 + +``` +let storage = LocalStorage.GetShared() +@Entry(storage) +@Component +struct LocalStorageComponent { + @LocalStorageLink("storageSimpleProp") simpleVarName: number = 0 + build() { + Column(){ + Text(this.simpleVarName.toString()) + .onClick(()=>{ + this.simpleVarName +=1; + }) + Text(JSON.stringify(this.simpleVarName)) + .fontSize(50) + } + .height(500) + } +} +``` + +### 示例2(在Entry页面定义LocalStorage) + +``` +let storage = new LocalStorage({"PropA":47}); +@Entry(storage) +@Component +struct ComA { + @LocalStorageLink("PropA") storLink: number = 1; + build() { + Column() { + Text(`Parent from LocalStorage ${ this.storLink }`) + .onClick(()=>this.storLink+=1) + Child() + } + } +} + + +@Component +struct Child{ + @LocalStorageLink("PropA") storLink: number = 1; + build() { + Text(`Parent from LocalStorage ${ this.storLink }`) + .onClick(()=>this.storLink+=1) + } +} +``` + +## PersistentStorage + +PersistentStorage类提供了一些静态方法用来管理应用持久化数据,可以将特定标记的持久化数据链接到AppStorage中,并由AppStorage接口访问对应持久化数据,或者通过@StorageLink装饰器来访问对应key的变量。 + +> **说明:** +> +> - PersistProp接口使用时,需要保证输入对应的key应当在AppStorage存在。 +> - DeleteProp接口使用时,只能对本次启动已经link过的数据生效。 + +```ts +// xxx.ets +PersistentStorage.PersistProp("highScore", "0"); + +@Entry +@Component +struct PersistentComponent { + @StorageLink('highScore') highScore: string = '0' + @State currentScore: number = 0 + build() { + Column() { + if (this.currentScore === Number(this.highScore)) { + Text(`new highScore : ${this.highScore}`) + } + Button() { + Text(`goal!, currentScore : ${this.currentScore}`) + .fontSize(10) + }.onClick(() => { + this.currentScore++ + if (this.currentScore > Number(this.highScore)) { + this.highScore = this.currentScore.toString() + } + }) + } + } +} +``` + + ![PersistentStorage](figures/PersistentStorage.gif) + +## Environment + +Environment是框架在应用程序启动时创建的单例对象,它为AppStorage提供了一系列应用程序需要的环境状态属性,这些属性描述了应用程序运行的设备环境。Environment及其属性是不可变的,所有属性值类型均为简单类型。如下示例展示了从Environment获取语音环境: + +``` +Environment.EnvProp("accessibilityEnabled", "default"); +var enable = AppStorage.Get("accessibilityEnabled"); +``` + +accessibilityEnabled是Environment提供默认系统变量识别符。首先需要将对应系统属性绑定到AppStorage中,再通过AppStorage中的方法或者装饰器访问对应系统的属性数据。 diff --git a/zh-cn/application-dev/quick-start/ets-managing-component-states.md b/zh-cn/application-dev/quick-start/ets-managing-component-states.md new file mode 100644 index 0000000000..39f8f73710 --- /dev/null +++ b/zh-cn/application-dev/quick-start/ets-managing-component-states.md @@ -0,0 +1,481 @@ +# 页面级变量的状态管理 + +@State、@Prop、@Link、@Provide、Consume、@ObjectLink、@Observed和@Watch用于管理页面级变量的状态。 + +## @State + +@State装饰的变量是组件内部的状态数据,当这些状态数据被修改时,将会调用所在组件的build方法进行UI刷新。 + +@State状态数据具有以下特征: + + +- 支持多种类型:允许class、number、boolean、string强类型的按值和按引用类型。允许这些强类型构成的数组,即Array<class>、Array<string>、Array<boolean>、Array<number>。不允许object和any。 +- 支持多实例:组件不同实例的内部状态数据独立。 +- 内部私有:标记为@State的属性是私有变量,只能在组件内访问。 +- 需要本地初始化:必须为所有@State变量分配初始值,将变量保持未初始化可能导致框架行为未定义。 +- 创建自定义组件时支持通过状态变量名设置初始值:在创建组件实例时,可以通过变量名显式指定@State状态属性的初始值。 + +**示例:** + +在下面的示例中: + + +- 用户定义的组件MyComponent定义了@State状态变量count和title。如果count或title的值发生变化,则执行MyComponent的build方法来重新渲染组件; + +- EntryComponent中有多个MyComponent组件实例,第一个MyComponent内部状态的更改不会影响第二个MyComponent; + +- 创建MyComponent实例时通过变量名给组件内的变量进行初始化,如: + ```ts + MyComponent({title: {value: 'Hello, World 2'}, count: 7}) + ``` + +```ts +// xxx.ets +class Model { + value: string + constructor(value: string) { + this.value = value + } +} + +@Entry +@Component +struct EntryComponent { + build() { + Column() { + MyComponent({count: 1, increaseBy: 2}) // MyComponent1 in this document + MyComponent({title: {value: 'Hello, World 2'}, count: 7}) //MyComponent2 in this document + } + } +} + +@Component +struct MyComponent { + @State title: Model = {value: 'Hello World'} + @State count: number = 0 + private toggle: string = 'Hello World' + private increaseBy: number = 1 + + build() { + Column() { + Text(`${this.title.value}`).fontSize(30) + Button() { + Text(`Click to change title`).fontSize(20).fontColor(Color.White) + }.onClick(() => { + this.title.value = (this.toggle == this.title.value) ? 'Hello World' : 'Hello UI' + }) // Modify the internal state of MyComponent using the anonymous method. + + Button() { + Text(`Click to increase count=${this.count}`).fontSize(20).fontColor(Color.White) + }.onClick(() => { + this.count += this.increaseBy + }) // Modify the internal state of MyComponent using the anonymous method. + } + } +} +``` + +![@state1](figures/@state.png) + +## @Prop + +@Prop与@State有相同的语义,但初始化方式不同。@Prop装饰的变量必须使用其父组件提供的@State变量进行初始化,允许组件内部修改@Prop变量,但更改不会通知给父组件,即@Prop属于单向数据绑定。 + +@Prop状态数据具有以下特征: + +- 支持简单类型:仅支持number、string、boolean简单类型; +- 私有:仅在组件内访问; +- 支持多个实例:一个组件中可以定义多个标有@Prop的属性; +- 创建自定义组件时将值传递给@Prop变量进行初始化:在创建组件的新实例时,必须初始化所有@Prop变量,不支持在组件内部进行初始化。 + +**示例:** + +在下面的示例中,当按“+1”或“-1”按钮时,父组件状态发生变化,重新执行build方法,此时将创建一个新的CountDownComponent组件。父组件的countDownStartValue状态属性被用于初始化子组件的@Prop变量,当按下子组件的“Try again”按钮时,其@Prop变量count将被更改,CountDownComponent重新渲染。但是count值的更改不会影响父组件的countDownStartValue值。 + +```ts +// xxx.ets +@Entry +@Component +struct ParentComponent { + @State countDownStartValue: number = 10 // 10 Nuggets default start value in a Game + build() { + Column() { + Text(`Grant ${this.countDownStartValue} nuggets to play.`) + Button() { + Text('+1 - Nuggets in New Game') + }.onClick(() => { + this.countDownStartValue += 1 + }) + Button() { + Text('-1 - Nuggets in New Game') + }.onClick(() => { + this.countDownStartValue -= 1 + }) + // 创建子组件时,必须在构造函数参数中提供其@Prop变量的初始值,同时初始化常规变量CostOfOneAttump(非Prop) + CountDownComponent({ count: this.countDownStartValue, costOfOneAttempt: 2}) + } + } +} + +@Component +struct CountDownComponent { + @Prop count: number + private costOfOneAttempt: number + + build() { + Column() { + if (this.count > 0) { + Text(`You have ${this.count} Nuggets left`) + } else { + Text('Game over!') + } + + Button() { + Text('Try again') + }.onClick(() => { + this.count -= this.costOfOneAttempt + }) + } + } +} +``` + +> **说明:** 创建新组件实例时,必须初始化其所有@Prop变量。 + +## @Link + +@Link装饰的变量可以和父组件的@State变量建立双向数据绑定: + +- 支持多种类型:@Link变量的值与@State变量的类型相同,即class、number、string、boolean或这些类型的数组; +- 私有:仅在组件内访问; +- 单个数据源:初始化@Link变量的父组件的变量必须是@State变量; +- 双向通信:子组件对@Link变量的更改将同步修改父组件的@State变量; +- 创建自定义组件时需要将变量的引用传递给@Link变量,在创建组件的新实例时,必须使用命名参数初始化所有@Link变量。@Link变量可以使用@State变量或@Link变量的引用进行初始化,@State变量可以通过`'$'`操作符创建引用。 + +> 说明: @Link变量不能在组件内部进行初始化 + +**简单类型示例:** + +@Link语义是从`'$'`操作符引出,即`$isPlaying`是`this.isPlaying`内部状态的双向数据绑定。当单击PlayButton时,PlayButton的Image组件和Text组件将同时进行刷新。 + +```ts +// xxx.ets +@Entry +@Component +struct Player { + @State isPlaying: boolean = false + build() { + Column() { + PlayButton({buttonPlaying: $isPlaying}) + Text(`Player is ${this.isPlaying? '':'not'} playing`) + } + } +} + +@Component +struct PlayButton { + @Link buttonPlaying: boolean + build() { + Column() { + Button() { + Image(this.buttonPlaying? 'play.png' : 'pause.png') + }.onClick(() => { + this.buttonPlaying = !this.buttonPlaying + }) + } + } +} +``` + +**复杂类型示例:** + +```ts +// xxx.ets +@Entry +@Component +struct Parent { + @State arr: number[] = [1, 2, 3] + build() { + Column() { + Child({items: $arr}) + ForEach(this.arr, + item => Text(`${item}`), + item => item.toString()) + } + } +} + +@Component +struct Child { + @Link items: number[] + build() { + Column() { + Button() { + Text('Button1: push') + }.onClick(() => { + this.items.push(100) + }) + Button() { + Text('Button2: replace whole item') + }.onClick(() => { + this.items = [100, 200, 300] + }) + } + } +} +``` + +## @Link、@State和@Prop结合使用示例 + +下面示例中,ParentView包含ChildA和ChildB两个子组件,ParentView的状态变量counter分别初始化ChildA和ChildB。 + +- ChildB使用@Link建立双向状态绑定。当ChildB修改counterRef状态变量值时,该更改将同步到ParentView和ChildA共享; +- ChildA使用@Prop建立从ParentView到自身的单向状态绑定。当ChildA修改状态时,ChildA将重新渲染,但该更改不会传达给ParentView和ChildB。 + +```ts +// xxx.ets +@Entry +@Component +struct ParentView { + @State counter: number = 0 + build() { + Column() { + ChildA({counterVal: this.counter}) // pass by value + ChildB({counterRef: $counter}) // $ creates a Reference that can be bound to counterRef + } + } +} + +@Component +struct ChildA { + @Prop counterVal: number + build() { + Button() { + Text(`ChildA: (${this.counterVal}) + 1`) + }.onClick(() => {this.counterVal+= 1}) + } +} + +@Component +struct ChildB { + @Link counterRef: number + build() { + Button() { + Text(`ChildB: (${this.counterRef}) + 1`) + }.onClick(() => {this.counterRef+= 1}) + } +} +``` + +## Observed和ObjectLink数据管理 + +当开发者需要在子组件中针对父组件的一个变量(parent_a)设置双向同步时,开发者可以在父组件中使用\@State装饰变量(parent_a),并在子组件中使用@Link装饰相应的变量(child_a)。这样的话,不仅可以实现父组件与单个子组件之间的数据同步,也可以实现父组件与多个子组件之间的数据同步。如下图所示,可以看到,父子组件针对ClassA类型的变量设置了双向同步,那么当子组件1中变量的属性c的值变化时,会通知父组件同步变化,而当父组件中属性c的值变化时,会通知所有子组件同步变化。 + +![zh-cn_image_0000001251090821](figures/zh-cn_image_0000001251090821.png) + +然而,上述例子是针对某个数据对象进行的整体同步,而当开发者只想针对父组件中某个数据对象的部分信息进行同步时,使用@Link就不能满足要求。如果这些部分信息是一个类对象,就可以使用@ObjectLink配合@Observed来实现,如下图所示。 + +![zh-cn_image_0000001206450834](figures/zh-cn_image_0000001206450834.png) + +### 设置要求 + +- @Observed 用于类,@ObjectLink 用于变量。 + +- @ObjectLink装饰的变量类型必须为类(class type)。 + - 类要被\@Observed装饰器所装饰。 + - 不支持简单类型参数,可以使用@Prop进行单向同步。 + +- @ObjectLink装饰的变量是不可变的(immutable)。 + - 属性的改动是被允许的,当改动发生时,如果同一个对象被多个@ObjectLink变量所引用,那么所有拥有这些变量的自定义组件都会被通知去重新渲染。 + +- @ObjectLink装饰的变量不可设置默认值。 + - 必须让父组件中有一个由@State、@Link、@StorageLink、@Provide或@Consume所装饰变量参与的TS表达式进行初始化。 + +- @ObjectLink装饰的变量是私有变量,只能在组件内访问。 + + +### 示例 + +```ts +// xxx.ets +// 父组件ViewB中的类对象ClassA与子组件ViewA保持数据同步时,可以使用@ObjectLink和@Observed,绑定该数据对象的父组件和其他子组件同步更新 + +var nextID: number = 0; + +@Observed +class ClassA { + public name : string; + public c: number; + public id : number; + constructor(c: number, name: string = 'OK') { + this.name = name; + this.c = c; + this.id = nextID++; + } +} + +@Component +struct ViewA { + label : string = "ViewA1"; + @ObjectLink a: ClassA; + build() { + Row() { + Button(`ViewA [${this.label}] this.a.c= ${this.a.c} +1`) + .onClick(() => { + this.a.c += 1; + }) + }.margin({ top: 10 }) + } +} + +@Entry +@Component +struct ViewB { + @State arrA : ClassA[] = [ new ClassA(0), new ClassA(0) ]; + build() { + Column() { + ForEach (this.arrA, (item) => { + ViewA({label: `#${item.id}`, a: item}) + }, + (item) => item.id.toString() + ) + ViewA({label: `ViewA this.arrA[first]`, a: this.arrA[0]}) + ViewA({label: `ViewA this.arrA[last]`, a: this.arrA[this.arrA.length-1]}) + + Button(`ViewB: reset array`) + .margin({ top: 10 }) + .onClick(() => { + this.arrA = [ new ClassA(0), new ClassA(0) ]; + }) + Button(`ViewB: push`) + .margin({ top: 10 }) + .onClick(() => { + this.arrA.push(new ClassA(0)) + }) + Button(`ViewB: shift`) + .margin({ top: 10 }) + .onClick(() => { + this.arrA.shift() + }) + } + } +} +``` + + ![Observed](figures/Observed.gif) + +## @Consume和@Provide + +Provide作为数据的提供方,可以更新其子孙节点的数据,并触发页面渲染。Consume在感知到Provide数据的更新后,会触发当前view的重新渲染。 + +> **说明:** 使用@Provide 和@Consume时避免循环引用导致死循环。 + +表1 @Provide + +| 名称 | 说明 | +| -------------- | ------------------------------------------------------------ | +| 装饰器参数 | 是一个string类型的常量,用于给装饰的变量起别名。如果规定别名,则提供对应别名的数据更新。如果没有,则使用变量名作为别名。推荐使用@Provide("alias")这种形式。 | +| 同步机制 | @Provide的变量类似@State,可以修改对应变量进行页面重新渲染。也可以修改@Consume装饰的变量,反向修改@State变量。 | +| 初始值 | 必须制定初始值。 | +| 页面重渲染场景 | 触发页面渲染的修改:
- 基础类型(boolean,string,number)变量的改变;
- @Observed class类型变量及其属性的修改;
- 添加,删除,更新数组中的元素。 | + +表2 @Consume + +| 名称 | 说明 | +| -------------- | ------------------------------------------------------------ | +| 装饰器参数 | 是一个string类型的常量,用于给装饰的变量起别名。如果规定别名,则提供对应别名的数据更新。如果没有,则使用变量名作为别名。推荐使用@Provide("alias")这种形式。 | +| 同步机制 | @Provide的变量类似@State,可以修改对应变量进行页面重新渲染。也可以修改@Consume装饰的变量,反向修改@State变量。 | +| 初始值 | 不可设置默认值。 | +| 页面重渲染场景 | 触发页面渲染的修改:
- 基础类型(boolean,string,number)变量的改变;
- @Observed class类型变量及其属性的修改;
- 添加,删除,更新数组中的元素。 | + +### 示例 + +```ts +// xxx.ets +@Entry +@Component +struct CompA { + @Provide("reviewVote") reviewVotes : number = 0; + + build() { + Column() { + CompB() + Button() { + Text(`${this.reviewVotes}`) + .fontSize(30) + } + .onClick(() => { + this.reviewVotes += 1; + }) + } + } +} + +@Component +struct CompB { + build() { + Column() { + CompC() + } + } +} + +@Component +struct CompC { + @Consume("reviewVote") reviewVotes : number; + build() { + Column() { + Button() { + Text(`${this.reviewVotes}`) + .fontSize(30) + } + .onClick(() => { + this.reviewVotes += 1; + }) + }.margin({ left:10, top: 10 }) + } +} +``` + +## @Watch + +@Watch用于监听状态变量的变化,语法结构为: + +``` +@State @Watch("onChanged") count : number = 0 +``` + +如上给状态变量增加一个@Watch装饰器,通过@Watch注册一个回调方法onChanged, 当状态变量count被改变时, 触发onChanged回调。 + +装饰器@State、@Prop、@Link、@ObjectLink、@Provide、@Consume、@StorageProp以及@StorageLink装饰的变量可以监听其变化。 + +``` +// xxx.ets +@Entry +@Component +struct CompA { + @State @Watch("onBasketUpdated") shopBasket : Array = [ 7, 12, 47, 3 ]; + @State totalPurchase : number = 0; + + updateTotal() : number { + let sum = 0; + this.shopBasket.forEach((i) => { sum += i; }); + // 计算新的购物篮总价值,如果超过100RMB,则适用折扣 + this.totalPurchase = (sum < 100) ? sum : 0.9 * sum; + return this.totalPurchase; + } + + // @Watch cb + onBasketUpdated(propName: string) : void { + this.updateTotal(); + } + + build() { + Column() { + Button("add to basket").onClick(() => { this.shopBasket.push(Math.round(100 * Math.random())) }) + Text(`${this.totalPurchase}`) + .fontSize(30) + } + } +} +``` \ No newline at end of file diff --git a/zh-cn/application-dev/quick-start/ets-state-management-concepts.md b/zh-cn/application-dev/quick-start/ets-state-management-concepts.md new file mode 100644 index 0000000000..52d66dc7b8 --- /dev/null +++ b/zh-cn/application-dev/quick-start/ets-state-management-concepts.md @@ -0,0 +1,30 @@ +# 基本概念 + +eTS提供了多维度的状态管理机制,在UI开发框架中,和UI相关联的数据,不仅可以在组件内使用,还可以在不同组件层级间传递,比如父子组件之间、爷孙组件之前,也可以时全局范围内的传递。另外,从数据的传递形式来看,可分为只读的单向传递和可变更的双向传递。开发者可以灵活的利用这些能力来实现数据和UI的联动。 + + +![](figures/CoreSpec_figures_state-mgmt-overview.png) + + +## 页面级变量的状态管理 + +| 装饰器 | 装饰内容 | 说明 | +| ----------- | ------------------------- | ------------------------------------------------------------ | +| @State | 基本数据类型,类,数组 | 修饰的状态数据被修改时会触发组件的build方法进行UI界面更新。 | +| @Prop | 基本数据类型 | 修改后的状态数据用于在父组件和子组件之间建立单向数据依赖关系。修改父组件关联数据时,更新当前组件的UI。 | +| @Link | 基本数据类型,类,数组 | 父子组件之间的双向数据绑定,父组件的内部状态数据作为数据源,任何一方所做的修改都会反映给另一方。 | +| @Observed | 类 | @Observed应用于类,表示该类中的数据变更被UI页面管理。 | +| @ObjectLink | 被@Observed所装饰类的对象 | 装饰的状态数据被修改时,在父组件或者其他兄弟组件内与它关联的状态数据所在的组件都会更新UI。 | +| @Consume | 基本数据类型,类,数组 | @Consume装饰的变量在感知到@Provide装饰的变量更新后,会触发当前自定义组件的重新渲染。 | +| @Provide | 基本数据类型,类,数组 | @Provide作为数据的提供方,可以更新其子孙节点的数据,并触发页面渲染。 | + +## 应用级变量的状态管理 + +AppStorage是整个UI应用程序状态的中心“数据库”,UI框架会针对应用程序创建单例AppStorage对象,并提供相应的装饰器和接口供应用程序使用。 + +- @StorageLink:@StorageLink(name)的原理类似于@Consume(name),不同的是,该给定名称的链接对象是从AppStorage中获得的,在UI组件和AppStorage之间建立双向绑定同步数据。 +- @StorageProp:@StorageProp(name)将UI组件属性与AppStorage进行单向同步,AppStorage中值的更改会更新组件中的属性,但UI组件无法更改AppStorage中的属性值。 +- AppStorage还提供用于业务逻辑实现的API,用于添加、读取、修改和删除应用程序的状态属性,此API所做的更改会导致修改的状态数据同步到UI组件上进行UI更新。 +- PersistentStorage类提供了一些静态方法用来管理应用持久化数据,可以将特定标记的持久化数据链接到AppStorage中,并由AppStorage接口访问对应持久化数据,或者通过@StorageLink装饰器来访问对应key的变量。 +- Environment是框架在应用程序启动时创建的单例对象,它为AppStorage提供了一系列应用程序需要的环境状态属性,这些属性描述了应用程序运行的设备环境。 + diff --git a/zh-cn/application-dev/quick-start/ets-syntactic-usage.md b/zh-cn/application-dev/quick-start/ets-syntactic-usage.md new file mode 100644 index 0000000000..31152f71ee --- /dev/null +++ b/zh-cn/application-dev/quick-start/ets-syntactic-usage.md @@ -0,0 +1,269 @@ +# 渲染控制 + +eTS也提供了渲染控制的能力。条件渲染可根据应用的不同状态,渲染对应状态下的部分内容。循环渲染可从数据源中迭代获取数据,并在每次迭代过程中创建相应的组件。 + +## 条件渲染 + +使用if/else进行条件渲染。 + + +> **说明:** +> +> - if条件语句可以使用状态变量。 +> +> - 使用if可以使子组件的渲染依赖条件语句。 +> +> - 必须在容器组件内使用。 +> +> - 某些容器组件限制子组件的类型或数量。将if放置在这些组件内时,这些限制将应用于if和else语句内创建的组件。例如,Grid组件的子组件仅支持GridItem组件,在Grid组件内使用if时,则if条件语句内仅允许使用GridItem组件。 + + +```ts +Column() { + if (this.count < 0) { + Text('count is negative') + } else if (this.count % 2 === 0) { + Divider() + Text('even') + } else { + Divider() + Text('odd') + } +} +``` + +## 循环渲染 + +开发框架提供循环渲染(ForEach组件)来迭代数组,并为每个数组项创建相应的组件。当循环渲染的元素较多时,会出现页面加载变慢的情况,出于性能考虑,建议使用[LazyForEach](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/ui/ts-rending-control-syntax-lazyforeach.md)代替。ForEach定义如下: + +``` +ForEach( + arr: any[], // Array to be iterated + itemGenerator: (item: any, index?: number) => void, + keyGenerator?: (item: any, index?: number) => string +) +``` + +**参数:** + +| 参数名 | 参数类型 | 必填 | 参数描述 | +| ------------- | ------------------------------------- | ---- | ------------------------------------------------------------ | +| arr | any[] | 是 | 必须是数组,允许空数组,空数组场景下不会创建子组件。同时允许设置返回值为数组类型的函数,例如arr.slice(1, 3),设置的函数不得改变包括数组本身在内的任何状态变量,如Array.splice、Array.sort或Array.reverse这些改变原数组的函数。 | +| itemGenerator | (item: any, index?: number) => void | 是 | 生成子组件的lambda函数,为给定数组项生成一个或多个子组件,单个组件和子组件列表必须括在大括号“{....}”中。 | +| keyGenerator | (item: any, index?: number) => string | 否 | 匿名参数,用于给定数组项生成唯一且稳定的键值。当子项在数组中的位置更改时,子项的键值不得更改,当数组中的子项被新项替换时,被替换项的键值和新项的键值必须不同。键值生成器的功能是可选的,但是,为了使开发框架能够更好地识别数组更改,提高性能,建议提供。如将数组反向时,如果没有提供键值生成器,则ForEach中的所有节点都将重建。 | + +> **说明:** +> +> - ForEach组件必须在容器组件内使用; +> +> - 生成的子组件允许在ForEach的父容器组件中,允许子组件生成器函数中包含if/else条件渲染,同时也允许ForEach包含在if/else条件渲染语句中; +> +> - 子项生成器函数的调用顺序不一定和数组中的数据项相同,在开发过程中不要假设子项生成器和键值生成器函数是否执行以及执行顺序。如下示例可能无法正常工作: +> +> ``` +> ForEach(anArray.map((item1, index1) => { return { i: index1 + 1, data: item1 }; }), +> item => Text(`${item.i}. item.data.label`), +> ``` + +## 示例 + +```ts +// xxx.ets +@Entry +@Component +struct MyComponent { + @State arr: number[] = [10, 20, 30] + + build() { + Column() { + Button() { + Text('Reverse Array') + }.onClick(() => { + this.arr.reverse() + }) + + ForEach(this.arr, + (item: number) => { + Text(`item value: ${item}`) + Divider() + }, + (item: number) => item.toString() + ) + } + } +} +``` + +## 数据懒加载 + +通过数据懒加载(LazyForEach组件)从提供的数据源中按需迭代数据,并在每次迭代过程中创建相应的组件。 + +```ts +LazyForEach( + dataSource: IDataSource, + itemGenerator: (item: any) => void, + keyGenerator?: (item: any) => string +): void + +interface IDataSource { + totalCount(): number; + getData(index: number): any; + registerDataChangeListener(listener: DataChangeListener): void; + unregisterDataChangeListener(listener: DataChangeListener): void; +} + +interface DataChangeListener { + onDataReloaded(): void; + onDataAdd(index: number): void; + onDataMove(from: number, to: number): void; + onDataDelete(index: number): void; + onDataChange(index: number): void; +} +``` + +**参数:** + +| 参数名 | 参数类型 | 必填 | 参数描述 | +| ------------- | --------------------- | ---- | ------------------------------------------------------------ | +| dataSource | IDataSource | 是 | 实现IDataSource接口的对象,需要开发者实现相关接口。 | +| itemGenerator | (item: any) => void | 是 | 生成子组件的lambda函数,为给定数组项生成一个或多个子组件,单个组件和子组件列表必须括在大括号“{....}”中。 | +| keyGenerator | (item: any) => string | 否 | 匿名函数,用于键值生成,为给定数组项生成唯一且稳定的键值。当子项在数组中的位置更改时,子项的键值不得更改,当数组中的子项被新项替换时,被替换项的键值和新项的键值必须不同。键值生成器的功能是可选的,但是,为了使开发框架能够更好地识别数组更改,提高性能,建议提供。如将数组反向时,如果没有提供键值生成器,则LazyForEach中的所有节点都将重建。 | + +表2 IDataSource类型说明 + +| 名称 | 描述 | +| ------------------------------------------------------------ | ---------------------- | +| totalCount(): number | 获取数据总数。 | +| getData(index: number): any | 获取索引对应的数据。 | +| registerDataChangeListener(listener:DataChangeListener): void | 注册改变数据的控制器。 | +| unregisterDataChangeListener(listener:DataChangeListener): void | 注销改变数据的控制器。 | + +表3 DataChangeListener类型说明 + +| 名称 | 描述 | +| -------------------------------------------------------- | -------------------------------------- | +| onDataReloaded(): void | 重新加载所有数据。 | +| onDataAdded(index: number): void (deprecated) | 通知组件index的位置有数据添加。 | +| onDataMoved(from: number, to: number): void (deprecated) | 通知组件数据从from的位置移到to的位置。 | +| onDataDeleted(index: number): void (deprecated) | 通知组件index的位置有数据删除。 | +| onDataChanged(index: number): void (deprecated) | 通知组件index的位置有数据变化。 | +| onDataAdd(index: number): void 8+ | 通知组件index的位置有数据添加。 | +| onDataMove(from: number, to: number): void 8+ | 通知组件数据从from的位置移到to的位置。 | +| onDataDelete(index: number): void 8+ | 通知组件index的位置有数据删除。 | +| onDataChange(index: number): void 8+ | 通知组件index的位置有数据变化。 | + +## 示例 + +```ts +class BasicDataSource implements IDataSource { + private listeners: DataChangeListener[] = [] + + public totalCount(): number { + return 0 + } + public getData(index: number): any { + return undefined + } + + registerDataChangeListener(listener: DataChangeListener): void { + if (this.listeners.indexOf(listener) < 0) { + console.info('add listener') + this.listeners.push(listener) + } + } + unregisterDataChangeListener(listener: DataChangeListener): void { + const pos = this.listeners.indexOf(listener); + if (pos >= 0) { + console.info('remove listener') + this.listeners.splice(pos, 1) + } + } + + notifyDataReload(): void { + this.listeners.forEach(listener => { + listener.onDataReloaded() + }) + } + notifyDataAdd(index: number): void { + this.listeners.forEach(listener => { + listener.onDataAdd(index) + }) + } + notifyDataChange(index: number): void { + this.listeners.forEach(listener => { + listener.onDataChange(index) + }) + } + notifyDataDelete(index: number): void { + this.listeners.forEach(listener => { + listener.onDataDelete(index) + }) + } + notifyDataMove(from: number, to: number): void { + this.listeners.forEach(listener => { + listener.onDataMove(from, to) + }) + } +} + +class MyDataSource extends BasicDataSource { + private dataArray: string[] = ['/path/image0', '/path/image1', '/path/image2', '/path/image3'] + + public totalCount(): number { + return this.dataArray.length + } + public getData(index: number): any { + return this.dataArray[index] + } + + public addData(index: number, data: string): void { + this.dataArray.splice(index, 0, data) + this.notifyDataAdd(index) + } + public pushData(data: string): void { + this.dataArray.push(data) + this.notifyDataAdd(this.dataArray.length - 1) + } +} + +@Entry +@Component +struct MyComponent { + private data: MyDataSource = new MyDataSource() + build() { + List({space: 3}) { + LazyForEach(this.data, (item: string) => { + ListItem() { + Row() { + Image(item).width("30%").height(50) + Text(item).fontSize(20).margin({left:10}) + }.margin({left: 10, right: 10}) + } + .onClick(()=>{ + this.data.pushData('/path/image' + this.data.totalCount()) + }) + }, item => item) + } + } +} +``` + +> **说明:** +> +> - 数据懒加载必须在容器组件内使用,且仅有List、Grid以及Swiper组件支持数据的懒加载(即只加载可视部分以及其前后少量数据用于缓冲),其他组件仍然是一次加载所有的数据; +> +> - LazyForEach在每次迭代中,必须且只允许创建一个子组件; +> +> - 生成的子组件必须允许在LazyForEach的父容器组件中; +> +> - 允许LazyForEach包含在if/else条件渲染语句中,不允许LazyForEach中出现if/else条件渲染语句; +> +> - 为了高性能渲染,通过DataChangeListener对象的onDataChange方法来更新UI时,仅itemGenerator中的UI描述的组件内使用了状态变量时,才会触发组件刷新; +> +> - 子项生成器函数的调用顺序不一定和数据源中的数据项相同,在开发过程中不要假设子项生成器和键值生成器函数是否执行以及执行顺序。如下示例可能无法正常工作: +> +> ```ts +> LazyForEach(dataSource, +> item => Text(`${item.i}. item.data.label`)), +> item => item.data.id.toString()) +> ``` \ No newline at end of file diff --git a/zh-cn/application-dev/quick-start/ets-ui.md b/zh-cn/application-dev/quick-start/ets-ui.md new file mode 100644 index 0000000000..c9586b3d4b --- /dev/null +++ b/zh-cn/application-dev/quick-start/ets-ui.md @@ -0,0 +1,195 @@ +# 基本UI描述 + +eTS通过装饰器@Component和@Entry装饰struct关键字声明的数据结构,构成一个自定义组件。自定义组件中提供了一个build函数,开发者需在该函数内以链式调用的方式进行基本的UI描述,UI描述的方法请参考[UI描述规范](#ui描述规范)。 + +## 基本概念 + +- struct:组件可以基于struct实现,不能有继承关系,对于struct的实例化,可以省略new。 + +- 装饰器:装饰器给被装饰的对象赋予某一种能力,其不仅可以装饰类或结构体,还可以装饰类的属性。多个装饰器可以叠加到目标元素,定义在同一行上或者多行上,推荐定义在多行上。 + + ```ts + @Entry + @Component + struct MyComponent { + } + ``` + +- build函数:自定义组件必须定义build函数,并且自定义组件禁止自定义构造函数。build函数满足Builder构造器接口定义,用于定义组件的声明式UI描述。 + + ```ts + interface Builder { + build: () => void + } + ``` + +- @Component:装饰struct,结构体在装饰后具有基于组件的能力,需要实现build方法来更新UI。 + +- @Entry: 装饰struct,组件被装饰后作为页面的入口,页面加载时将被渲染显示。 + +- @Preview:装饰struct, 用@Preview装饰的自定义组件可以在DevEco Studio的预览器上进行实时预览,加载页面时,将创建并呈现@Preview装饰的自定义组件。 + + > **说明:** 在单个源文件中,最多可以使用10个@Preview装饰自定义组件,更多说明请参考[查看eTS组件预览效果](https://developer.harmonyos.com/cn/docs/documentation/doc-guides/ohos-previewing-app-service-0000001218760596#section146052489820)。 + +- 链式调用:以 "." 链式调用的方式配置UI结构及其属性、事件等。 + +## UI描述规范 + +### 无参数构造配置 + +组件的接口定义不包含必选构造参数,组件后面的“()”中不需要配置任何内容。例如,Divider组件不包含构造参数: + +```ts +Column() { + Text('item 1') + Divider() + Text('item 2') +} +``` + +### 必选参数构造配置 + +如果组件的接口定义中包含必选构造参数,则在组件后面的“()”中必须配置参数,参数可以使用常量进行赋值。 + +例如: + +- Image组件的必选参数src: + + ```ts + Image('http://xyz/a.jpg') + ``` + +- Text组件的必选参数content: + + ```ts + Text('123') + ``` + +变量或表达式也可以用于参数赋值,其中表达式返回的结果类型必须满足参数类型要求。例如,传递变量或表达式来构造Image和Text组件的参数: + +```ts +Image(this.imagePath) +Image('http://' + this.imageUrl) +Text(`count: ${this.count}`) +``` + +### 属性配置 + +使用属性方法配置组件的属性,属性方法紧随组件,并用"."运算符连接。 + +- 配置Text组件的字体大小属性: + + ```ts + Text('123') + .fontSize(12) + ``` + +- 使用"."操作进行链式调用并同时配置组件的多个属性,如下所示: + + ```ts + Image('a.jpg') + .alt('error.jpg') + .width(100) + .height(100) + ``` + +- 除了直接传递常量参数外,还可以传递变量或表达式,如下所示: + + ```ts + Text('hello') + .fontSize(this.size) + Image('a.jpg') + .width(this.count % 2 === 0 ? 100 : 200) + .height(this.offset + 100) + ``` + +- 对于系统内置组件,框架还为其属性预定义了一些[枚举类型](../reference/arkui-ts/ts-appendix-enums.md)供开发人员调用,枚举类型必须满足参数类型要求,枚举值可以作为参数传递。可以按以下方式配置Text组件的颜色和字体属性: + + ```ts + Text('hello') + .fontSize(20) + .fontColor(Color.Red) + .fontWeight(FontWeight.Bold) + ``` + +### 事件配置 + +通过事件方法可以配置组件支持的事件。 + +- 使用lambda表达式配置组件的事件方法: + + ```ts + Button('add counter') + .onClick(() => { + this.counter += 2 + }) + ``` + +- 使用匿名函数表达式配置组件的事件方法,要求使用bind,以确保函数体中的this引用包含的组件: + + ```ts + Button('add counter') + .onClick(function () { + this.counter += 2 + }.bind(this)) + ``` + +- 使用组件的成员函数配置组件的事件方法: + + ```ts + myClickHandler(): void { + + } + + ... + + Button('add counter') + .onClick(this.myClickHandler) + ``` + +### 子组件配置 + +对于支持子组件配置的组件,例如容器组件,在"{ ... }"里为组件添加子组件的UI描述。Column、Row、Stack、Button、Grid和List组件都是容器组件。 + +- 以下是简单的Column示例: + + ```ts + Column() { + Text('Hello') + .fontSize(100) + Divider() + Text(this.myText) + .fontSize(100) + .fontColor(Color.Red) + } + ``` + +- 可以嵌套多个子组件: + + ```ts + Column() { + Column() { + Button() { + Text('+ 1') + }.type(ButtonType.Capsule) + .onClick(() => console.log ('+1 clicked!')) + Image('1.jpg') + } + Divider() + Column() { + Button() { + Text('+ 2') + }.type(ButtonType.Capsule) + .onClick(() => console.log ('+2 clicked!')) + Image('2.jpg') + } + Divider() + Column() { + Button() { + Text('+ 3') + }.type(ButtonType.Capsule) + .onClick(() => console.log('+3 clicked!')) + Image('3.jpg') + } + }.alignItems(HorizontalAlign.Center) + ``` \ No newline at end of file diff --git a/zh-cn/application-dev/quick-start/ets-usage-restrictions-and-extensions.md b/zh-cn/application-dev/quick-start/ets-usage-restrictions-and-extensions.md new file mode 100644 index 0000000000..9cfdc30e91 --- /dev/null +++ b/zh-cn/application-dev/quick-start/ets-usage-restrictions-and-extensions.md @@ -0,0 +1,72 @@ +# 使用限制与扩展 + +## 在生成器函数中的使用限制 + +eTS语言的使用在生成器函数中存在一定的限制: + +- 表达式仅允许在字符串(${expression})、if条件、ForEach的参数和组件的参数中使用; +- 任何表达式都不能导致任何应用程序状态变量(@State、@Link、@Prop)的改变,否则会导致未定义和潜在不稳定的框架行为; +- 生成器函数内部不能有局部变量。 + +上述限制都不适用于事件处理函数(例如onClick)的匿函数实现。 + +## 变量的双向绑定 + +eTS支持通过$$双向绑定变量,通常应用于状态值频繁改变的变量。 + +- 当前$$支持基础类型变量,以及@State、@Link和@Prop装饰的变量。 +- 当前$$仅支持[bindPopup](../reference/arkui-ts/ts-universal-attributes-popup.md)属性的show参数和@State变量之间的渲染,Radio组件的checked属性。 +- $$绑定的变量变更时,仅渲染当前组件,提高渲染速度。 + +```ts +// xxx.ets +@Entry +@Component +struct bindPopup { + @State customPopup: boolean = false + build() { + column() { + button() { + Text('Popup') + } + .onClick(() => { + this.customPopup = !this.customPopup + }) + .bindPopup( + $$this.customPopup, { + mesage: "showPopup" + } + ) + } + } +} + +``` + +## 状态变量多种数据类型声明使用限制 + +@State、@Provide、 @Link和@Consume四种状态变量的多种数据类型只能同时由简单数据类型或引用数据类型其中一种构成。 + +示例: + +```ts +// xxx.ets +@Entry +@Component +struct Index { + //错误写法: @State message: string | Resource = 'Hello World' + @State message: string = 'Hello World' + + build() { + Row() { + Column() { + Text(`${ this.message }`) + .fontSize(50) + .fontWeight(FontWeight.Bold) + } + .width('100%') + } + .height('100%') + } +} +``` \ No newline at end of file diff --git a/zh-cn/application-dev/ui/figures/@state.png b/zh-cn/application-dev/quick-start/figures/@state.png similarity index 100% rename from zh-cn/application-dev/ui/figures/@state.png rename to zh-cn/application-dev/quick-start/figures/@state.png diff --git a/zh-cn/application-dev/ui/figures/@state1.gif b/zh-cn/application-dev/quick-start/figures/@state1.gif similarity index 100% rename from zh-cn/application-dev/ui/figures/@state1.gif rename to zh-cn/application-dev/quick-start/figures/@state1.gif diff --git a/zh-cn/application-dev/quick-start/figures/CoreSpec_figures_state-mgmt-overview.png b/zh-cn/application-dev/quick-start/figures/CoreSpec_figures_state-mgmt-overview.png new file mode 100644 index 0000000000000000000000000000000000000000..37ae5324808a0ab50f210907ca65a09e4456a371 GIT binary patch literal 30374 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 tU4fyUl)rjQ)4m8D@z9$)W@(g9bUAp{yKio;3 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�Z?o4nxSNqb2OXj!!wGSBbv%n zj}Aw?YxH2m#QXU@AFprYx@A2D5k&Z;OAs-1tDuePO}4g zxwRJ8A+?a!rFPV8`nqAWZ|~cM&zuakNai9e|EP@3{J*l30RWZbgGUe@(7|!a)Tz_y pZr!>yF)=YUHFfsv*_oM{+1XjdOwqCY>bMF|c2hPm`$P<|{2%edk5>Qy literal 0 HcmV?d00001 diff --git a/zh-cn/application-dev/quick-start/figures/PersistentStorage.gif b/zh-cn/application-dev/quick-start/figures/PersistentStorage.gif new file mode 100644 index 0000000000000000000000000000000000000000..8448907658c66d98d91207a51017ccd5143655ec GIT binary patch literal 37957 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 z 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 literal 0 HcmV?d00001 diff --git a/zh-cn/application-dev/quick-start/figures/appstorage.gif b/zh-cn/application-dev/quick-start/figures/appstorage.gif new file mode 100644 index 0000000000000000000000000000000000000000..907447553819293cf3e7e143aec39116c4166d8d GIT binary patch literal 153934 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 P($mZZs$Cbc7!0HE)k4cye87m6+UoVU{B9l%i9K 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�#MchUEA&UBigcL<^P&;$e_^p2r} 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�akh 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

LbqnmeLCo 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

C&jU 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 N`?DCW_B7!1KLA>Wi*Wz| literal 0 HcmV?d00001 diff --git a/zh-cn/application-dev/ui/figures/zh-cn_image_0000001206450834.png b/zh-cn/application-dev/quick-start/figures/zh-cn_image_0000001206450834.png similarity index 100% rename from zh-cn/application-dev/ui/figures/zh-cn_image_0000001206450834.png rename to zh-cn/application-dev/quick-start/figures/zh-cn_image_0000001206450834.png diff --git a/zh-cn/application-dev/ui/figures/zh-cn_image_0000001251090821.png b/zh-cn/application-dev/quick-start/figures/zh-cn_image_0000001251090821.png similarity index 100% rename from zh-cn/application-dev/ui/figures/zh-cn_image_0000001251090821.png rename to zh-cn/application-dev/quick-start/figures/zh-cn_image_0000001251090821.png diff --git a/zh-cn/application-dev/reference/arkui-js/js-components-canvas-image.md b/zh-cn/application-dev/reference/arkui-js/js-components-canvas-image.md index cbf543e216..0d5f9a9f15 100644 --- a/zh-cn/application-dev/reference/arkui-js/js-components-canvas-image.md +++ b/zh-cn/application-dev/reference/arkui-js/js-components-canvas-image.md @@ -29,19 +29,20 @@ ```js // xxx.js export default { - onShow(){ - const el =this.$refs.canvas; - var ctx =el.getContext('2d'); - var img = new Image(); - img.src = 'common/images/example.jpg'; - img.onload = function() { - console.log('Image load success'); - ctx.drawImage(img, 0, 0, 360, 250); - }; - img.onerror = function() { - console.log('Image load fail'); - }; - } + onShow() { + const el = this.$refs.canvas; + var ctx = el.getContext('2d'); + var img = new Image(); + // 图片路径建议放在common目录下 + img.src = 'common/images/example.jpg'; + img.onload = function () { + console.log('Image load success'); + ctx.drawImage(img, 0, 0, 360, 250); + }; + img.onerror = function () { + console.log('Image load fail'); + }; + } } ``` diff --git a/zh-cn/application-dev/ui/Readme-CN.md b/zh-cn/application-dev/ui/Readme-CN.md index de85a882c0..cc0fe16984 100755 --- a/zh-cn/application-dev/ui/Readme-CN.md +++ b/zh-cn/application-dev/ui/Readme-CN.md @@ -1,6 +1,7 @@ # UI开发 - [方舟开发框架(ArkUI)概述](arkui-overview.md) + - UI开发(基于eTS的声明式开发范式) - [概述](ui-ts-overview.md) - 框架说明 @@ -12,48 +13,10 @@ - [资源访问](ts-resource-access.md) - [像素单位](ts-pixel-units.md) - 声明式语法 - - [描述规范使用说明](ts-syntax-intro.md) - - 通用UI描述规范 - - [基本概念](ts-general-ui-concepts.md) - - 声明式UI描述规范 - - [无构造参数配置](ts-parameterless-configuration.md) - - [必选参数构造配置](ts-configuration-with-mandatory-parameters.md) - - [属性配置](ts-attribution-configuration.md) - - [事件配置](ts-event-configuration.md) - - [子组件配置](ts-child-component-configuration.md) - - 组件化 - - [@Component](ts-component-based-component.md) - - [@Entry](ts-component-based-entry.md) - - [@Preview](ts-component-based-preview.md) - - [@Builder](ts-component-based-builder.md) - - [@Extend](ts-component-based-extend.md) - - [@CustomDialog](ts-component-based-customdialog.md) - - [@Styles](ts-component-based-styles.md) - - UI状态管理 - - [基本概念](ts-ui-state-mgmt-concepts.md) - - 管理组件拥有的状态 - - [@State](ts-component-states-state.md) - - [@Prop](ts-component-states-prop.md) - - [@Link](ts-component-states-link.md) - - 管理应用程序的状态 - - [应用程序的数据存储](ts-application-states-appstorage.md) - - [Ability数据存储](ui-ts-local-storage.md) - - [持久化数据管理](ts-application-states-apis-persistentstorage.md) - - [环境变量](ts-application-states-apis-environment.md) - - 其他类目的状态管理 - - [Observed和ObjectLink数据管理](ts-other-states-observed-objectlink.md) - - [@Consume和@Provide数据管理](ts-other-states-consume-provide.md) - - [@Watch](ts-other-states-watch.md) - - 渲染控制语法 - - [条件渲染](ts-rending-control-syntax-if-else.md) - - [循环渲染](ts-rending-control-syntax-foreach.md) - - [数据懒加载](ts-rending-control-syntax-lazyforeach.md) - 深入理解组件化 - - [build函数](ts-function-build.md) - [自定义组件初始化](ts-custom-component-initialization.md) - [自定义组件生命周期回调函数](ts-custom-component-lifecycle-callbacks.md) - [组件创建和重新初始化示例](ts-component-creation-re-initialization.md) - - [语法糖](ts-syntactic-sugar.md) - 常见组件开发指导 - [Button开发指导](ui-ts-basic-components-button.md) - [Web开发指导](ui-ts-components-web.md) diff --git a/zh-cn/application-dev/ui/ts-application-states-apis-environment.md b/zh-cn/application-dev/ui/ts-application-states-apis-environment.md deleted file mode 100644 index 54c3703e6b..0000000000 --- a/zh-cn/application-dev/ui/ts-application-states-apis-environment.md +++ /dev/null @@ -1,32 +0,0 @@ -# 环境变量 - -Environment是框架在应用程序启动时创建的单例对象,它为AppStorage提供了一系列应用程序需要的环境状态属性,这些属性描述了应用程序运行的设备环境。Environment及其属性是不可变的,所有属性值类型均为简单类型。如下示例展示了从Environment获取语音环境: - - -```ts -Environment.EnvProp("accessibilityEnabled", "default"); -var enable = AppStorage.Get("accessibilityEnabled"); -``` - -accessibilityEnabled是Environment提供默认系统变量识别符。首先需要将对应系统属性绑定到AppStorage中,再通过AppStorage中的方法或者装饰器访问对应系统的属性数据。 - - -## Environment接口 - -| key | 参数 | 返回值 | 说明 | -| -------- | ---------------------------------------- | ------- | ---------------------------------------- | -| EnvProp | key: string,
defaultValue: any | boolean | 关联此系统项到AppStorage中,建议在app启动时使用此接口。如果该属性在AppStorage已存在,返回false。请勿使用AppStorage中的变量,在调用此方法关联环境变量。 | -| EnvProps | keys: {
key: string,
defaultValue: any
}[] | void | 关联此系统项数组到AppStorage中。 | -| Keys | Array<string> | number | 返回关联的系统项。 | - - -## Environment内置的环境变量 - -| key | 类型 | 说明 | -| -------------------- | --------------- | ---------------------------------------- | -| accessibilityEnabled | boolean | 无障碍屏幕朗读是否启用。 | -| colorMode | ColorMode | 深浅色模式,可选值为:
- ColorMode.LIGHT:浅色模式;
- ColorMode.DARK:深色模式。 | -| fontScale | number | 字体大小比例,取值范围为[0.85, 1.45]。 | -| fontWeightScale | number | 字体权重比例,取值范围为[0.6, 1.6]。 | -| layoutDirection | LayoutDirection | 布局方向类型,可选值为:
- LayoutDirection.LTR:从左到右;
- LayoutDirection.RTL:从右到左。 | -| languageCode | string | 设置当前系统的语言,小写字母,例如zh。 | diff --git a/zh-cn/application-dev/ui/ts-application-states-apis-persistentstorage.md b/zh-cn/application-dev/ui/ts-application-states-apis-persistentstorage.md deleted file mode 100644 index 6c8c29d7ca..0000000000 --- a/zh-cn/application-dev/ui/ts-application-states-apis-persistentstorage.md +++ /dev/null @@ -1,46 +0,0 @@ -# 持久化数据管理 - -方舟开发框架通过PersistentStorage类提供了一些静态方法用来管理应用持久化数据,可以将特定标记的持久化数据链接到AppStorage中,并由AppStorage接口访问对应持久化数据,或者通过@StorageLink装饰器来访问对应key的变量。 - - -| 方法 | 参数说明 | 返回值 | 定义 | -| ------------ | ---------------------------------------- | ------------------- | ---------------------------------------- | -| PersistProp | key : string
defaultValue: T | void | 关联命名的属性在AppStorage变为持久化数据,赋值覆盖顺序如下:
- 首先,如果该属性存在于AppStorage,将Persistent中的数据复写为AppStorage中的属性值。
- 其次,Persistent中有此命名的属性,使用Persistent中的属性值。
- 最后,以上条件均不满足,则使用defaultValue,不支持null和undefined。 | -| DeleteProp | key: string | void | 取消双向数据绑定,该属性值将从持久存储中删除。 | -| PersistProps | keys: {
key: string,
defaultValue: any
}[] | void | 关联多个命名的属性绑定。 | -| Keys | void | Array<string> | 返回所有持久化属性的标记。 | - - -> **说明:** -> - PersistProp接口使用时,需要保证输入对应的key应当在AppStorage存在。 -> -> - DeleteProp接口使用时,只能对本次启动已经link过的数据生效。 - - -```ts -// xxx.ets -PersistentStorage.PersistProp("highScore", "0"); - -@Entry -@Component -struct PersistentComponent { - @StorageLink('highScore') highScore: string = '0' - @State currentScore: number = 0 - build() { - Column() { - if (this.currentScore === Number(this.highScore)) { - Text(`new highScore : ${this.highScore}`) - } - Button() { - Text(`goal!, currentScore : ${this.currentScore}`) - .fontSize(10) - }.onClick(() => { - this.currentScore++ - if (this.currentScore > Number(this.highScore)) { - this.highScore = this.currentScore.toString() - } - }) - } - } -} -``` diff --git a/zh-cn/application-dev/ui/ts-application-states-appstorage.md b/zh-cn/application-dev/ui/ts-application-states-appstorage.md deleted file mode 100644 index 503d3a225b..0000000000 --- a/zh-cn/application-dev/ui/ts-application-states-appstorage.md +++ /dev/null @@ -1,101 +0,0 @@ -# 应用程序的数据存储 - -AppStorage是应用程序中的单例对象,由UI框架在应用程序启动时创建,在应用程序退出时销毁,为应用程序范围内的可变状态属性提供中央存储。AppStorage包含整个应用程序中需要访问的所有状态属性,只要应用程序保持运行,AppStorage就会保存所有属性及属性值,属性值可以通过唯一的键值进行访问。 - - -UI组件可以通过装饰器将应用程序状态数据与AppStorage进行同步,应用业务逻辑的实现也可以通过接口访问AppStorage。 - - -AppStorage的选择状态属性可以与不同的数据源或数据接收器同步,这些数据源和接收器可以是设备上的本地或远程,并具有不同的功能,如数据持久性。这样的数据源和接收器可以独立于UI在业务逻辑中实现。 - - -默认情况下,AppStorage中的属性是可变的,AppStorage还可使用不可变(只读)属性。 - - -## AppStorage接口 - -| 方法 | 参数说明 | 返回值 | 定义 | -| ----------- | ---------------------------------------- | ------------------- | ---------------------------------------- | -| SetAndLink | key: string,
defaultValue: T | @Link | 与Link接口类似,如果当前的key保存于AppStorage,则返回该key对应的value。如果该key未被创建,则创建一个对应default值的Link返回。 | -| Set | key: string,
newValue: T | void | 对已保存的key值,替换其value值。 | -| Link | key: string | @Link | 如果存在具有给定键的数据,则返回到此属性的双向数据绑定,该双向绑定意味着变量或者组件对数据的更改将同步到AppStorage,通过AppStorage对数据的修改将同步到变量或者组件。如果具有此键的属性不存在或属性为只读,则返回undefined。 | -| SetAndProp | propName: string,
defaultValue: S | @Prop | 与Prop接口类似,如果当前的key保存于AppStorage,则返回该key对应的value。如果该key未被创建,则创建一个对应default值的Prop返回。 | -| Prop | key: string | @Prop | 如果存在具有给定键的属性,则返回此属性的单向数据绑定。该单向绑定意味着只能通过AppStorage将属性的更改同步到变量或者组件。该方法返回的变量为不可变变量,适用于可变和不可变的状态属性,如果具有此键的属性不存在则返回undefined。
> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:**
> prop方法对应的属性值类型为简单类型。 | -| SetOrCreate | key: string,
newValue: T | boolean | 如果已存在与给定键名字相同的属性,如果此属性可以被更改则替换其value值且返回true,否则不替换且返回false。
如果不存在存在与给定键名字相同的属性, 则创建一个键为key, 值为newValue的属性,属性值不支持null和undefined。 | -| Get | key: string | T或undefined | 通过此接口获取对应key值的value。 | -| Has | propName: string | boolean | 判断对应键值的属性是否存在。 | -| Keys | void | array<string> | 返回包含所有键的字符串数组。 | -| Delete | key: string | boolean | 删除key指定的键值对,如果存在且删除成功返回true,不存在或删除失败返回false。 | -| Clear | void | boolean | 删除所有的属性,如果当前有状态变量依旧引用此属性,则返回false。 | -| IsMutable | key: string | boolean | 返回此属性是否存在并且是否可以改变。 | - - -## AppStorage与组件同步 - -在[管理组件拥有的状态](ts-component-states-state.md)中,已经定义了如何将组件的状态变量与父组件或祖先组件中的@State装饰的状态变量同步,主要包括@Prop、@Link、@Consume。 - -本章节定义如何将组件变量与AppStorage同步,主要提供@StorageLink和@StorageProp装饰器。 - - -### @StorageLink装饰器 - -组件通过使用@StorageLink(key)装饰的状态变量,与AppStorage建立双向数据绑定,key为AppStorage中的属性键值。当创建包含@StorageLink的状态变量的组件时,该状态变量的值将使用AppStorage中的值进行初始化。在UI组件中对@StorageLink的状态变量所做的更改将同步到AppStorage,并从AppStorage同步到任何其他绑定实例中,如PersistentStorage或其他绑定的UI组件。 - - -### @StorageProp装饰器 - -组件通过使用@StorageProp(key)装饰的状态变量,将与AppStorage建立单向数据绑定,key标识AppStorage中的属性键值。当创建包含@StoageProp的状态变量的组件时,该状态变量的值将使用AppStorage中的值进行初始化。AppStorage中的属性值的更改会导致绑定的UI组件进行状态更新。 - - -## 示例 - -```ts -// xxx.ets - -@Entry -@Component -struct ComponentA { - @StorageLink('varA') varA: number = 2 - @StorageProp('languageCode') lang: string = 'en' - private label: string = 'count' - - aboutToAppear() { - this.label = (this.lang === 'zh') ? '数' : 'Count' - } - - build() { - Column(){ - Row({ space: 20 }) { - Button(`${this.label}: ${this.varA}`) - .onClick(() => { - AppStorage.Set('varA', AppStorage.Get('varA') + 1) - }) - Button(`lang: ${this.lang}`) - .onClick(() => { - if (this.lang === 'zh') { - AppStorage.Set('languageCode', 'en') - } else { - AppStorage.Set('languageCode', 'zh') - } - this.label = (this.lang === 'zh') ? '数' : 'Count' - }) - } - .margin({ bottom: 50 }) - Row(){ - Button(`更改@StorageLink修饰的变量:${this.varA}`).fontSize(10) - .onClick(() => { - this.varA++ - }) - }.margin({ bottom: 50 }) - Row(){ - Button(`更改@StorageProp修饰的变量:${this.lang}`).fontSize(10) - .onClick(() => { - this.lang = 'test' - }) - } - } - } -} -``` - -每次用户单击Count按钮时,this.varA变量值都会增加,此变量与AppStorage中的varA同步。每次用户单击当前语言按钮时,修改AppStorage中的languageCode,此修改会同步给this.lang变量。 diff --git a/zh-cn/application-dev/ui/ts-attribution-configuration.md b/zh-cn/application-dev/ui/ts-attribution-configuration.md deleted file mode 100644 index 64834f2571..0000000000 --- a/zh-cn/application-dev/ui/ts-attribution-configuration.md +++ /dev/null @@ -1,40 +0,0 @@ -# 属性配置 - - -使用属性方法配置组件的属性,属性方法紧随组件,并用“.”运算符连接。 - - -- 配置Text组件的字体大小属性: - ```ts - Text('123') - .fontSize(12) - ``` - - -- 使用“.”操作进行链式调用并同时配置组件的多个属性,如下所示: - ```ts - Image('a.jpg') - .alt('error.jpg') - .width(100) - .height(100) - ``` - - -- 除了直接传递常量参数外,还可以传递变量或表达式,如下所示: - ```ts - // Size, count, and offset are private variables defined in the component. - Text('hello') - .fontSize(this.size) - Image('a.jpg') - .width(this.count % 2 === 0 ? 100 : 200) - .height(this.offset + 100) - ``` - - -- 对于内置组件,框架还为其属性预定义了一些枚举类型,供开发人员调用,枚举值可以作为参数传递。枚举类型必须满足参数类型要求,有关特定属性的枚举类型定义的详细信息。可以按以下方式配置Text组件的颜色和字体属性: - ```ts - Text('hello') - .fontSize(20) - .fontColor(Color.Red) - .fontWeight(FontWeight.Bold) - ``` diff --git a/zh-cn/application-dev/ui/ts-child-component-configuration.md b/zh-cn/application-dev/ui/ts-child-component-configuration.md deleted file mode 100644 index 926d1d1c4f..0000000000 --- a/zh-cn/application-dev/ui/ts-child-component-configuration.md +++ /dev/null @@ -1,47 +0,0 @@ -# 子组件配置 - - -对于支持子组件配置的组件,例如容器组件,在“{ ... }”里为组件添加子组件的UI描述。Column、Row、Stack、Button、Grid和List组件都是容器组件。 - - -- 以下是简单的Column示例: - ```ts - Column() { - Text('Hello') - .fontSize(100) - Divider() - Text(this.myText) - .fontSize(100) - .fontColor(Color.Red) - } - ``` - - -- 可以嵌套多个子组件: - ```ts - Column() { - Column() { - Button() { - Text('+ 1') - }.type(ButtonType.Capsule) - .onClick(() => console.log ('+1 clicked!')) - Image('1.jpg') - } - Divider() - Column() { - Button() { - Text('+ 2') - }.type(ButtonType.Capsule) - .onClick(() => console.log ('+2 clicked!')) - Image('2.jpg') - } - Divider() - Column() { - Button() { - Text('+ 3') - }.type(ButtonType.Capsule) - .onClick(() => console.log('+3 clicked!')) - Image('3.jpg') - } - }.alignItems(HorizontalAlign.Center) // center align components inside Column - ``` diff --git a/zh-cn/application-dev/ui/ts-component-based-component.md b/zh-cn/application-dev/ui/ts-component-based-component.md deleted file mode 100644 index fd7a8f8cab..0000000000 --- a/zh-cn/application-dev/ui/ts-component-based-component.md +++ /dev/null @@ -1,121 +0,0 @@ -# @Component - -@Component装饰的struct表示该结构体具有组件化能力,能够成为一个独立的组件,这种类型的组件也称为自定义组件,在build方法里描述UI结构。自定义组件具有以下特点: - - -- 可组合:允许开发人员组合使用内置组件、其他组件、公共属性和方法; -- 链式调用9+:通过链式调用通用属性改变组件样式; -- 可重用:自定义组件可以被其他组件重用,并作为不同的实例在不同的父组件或容器中使用; -- 生命周期:生命周期的回调方法可以在组件中配置,用于业务逻辑处理; -- 数据驱动更新:由状态变量的数据驱动,实现UI自动更新。 - - -对组件化的深入描述,请参考[深入理解组件化](ts-custom-component-initialization.md)。 - - -> **说明:** -> -> - 自定义组件必须定义build方法。 ->- 自定义组件禁止自定义构造函数。 - - -如下代码定义了MyComponent组件: - - -```ts -@Component -struct MyComponent { - build() { - Column() { - Text('my component') - .fontColor(Color.Red) - }.alignItems(HorizontalAlign.Center) // center align Text inside Column - } -} -``` - - -MyComponent的build方法会在初始渲染时执行,此外,当组件中的状态发生变化时,build方法将再次执行。 - - -以下代码使用了MyComponent组件: - - -```ts -@Component -struct ParentComponent { - build() { - Column() { - MyComponent() - Text('we use component') - .fontSize(20) - } - } -} -``` - - -可以多次使用MyComponent,并在不同的组件中进行重用: - - -```ts -@Component -struct ParentComponent { - build() { - Row() { - Column() { - MyComponent() - Text('first column') - .fontSize(20) - } - Column() { - MyComponent() - Text('second column') - .fontSize(20) - } - } - } - - aboutToAppear() { - console.log('ParentComponent: Just created, about to become rendered first time.') - } - - aboutToDisappear() { - console.log('ParentComponent: About to be removed from the UI.') - } -} -``` - -可链式调用通用属性,使组件样式多样化: - -> **说明:** 从API version 9开始支持。 -> -> 自定义组件链式调用暂不支持尾随闭包写法(在初始化自定义组件时,组件名称紧跟一个大括号“{}”形成尾随闭包场景`(Inedx(){})`。开发者可把尾随闭包看做一个容器,向其填充内容,如在闭包内增加组件`{Column(){Text("content")}` )。 - -```ts -@Entry -@Component -struct Index { - @State bannerValue: string = 'Hello,world'; - build() { - Column() { - Chind({ ChindBannerValue:$bannerValue }) - .height(60) - .width(250) - .border({ width:5, color:Color.Red, radius:10, style: BorderStyle.Dotted }) - } - } -} - -@Component -struct Chind { - @Link ChindBannerValue: string; - build() { - Column() { - Text(this.ChindBannerValue) - .fontSize(30) - } - } -} -``` - diff --git a/zh-cn/application-dev/ui/ts-component-based-customdialog.md b/zh-cn/application-dev/ui/ts-component-based-customdialog.md deleted file mode 100644 index f8b04e394c..0000000000 --- a/zh-cn/application-dev/ui/ts-component-based-customdialog.md +++ /dev/null @@ -1,51 +0,0 @@ -# @CustomDialog - -@CustomDialog装饰器用于装饰自定义弹窗。 - - -```ts -// custom-dialog-demo.ets -@CustomDialog -struct DialogExample { - controller: CustomDialogController; - action: () => void; - - build() { - Row() { - Button ("Close CustomDialog") - .onClick(() => { - this.controller.close(); - this.action(); - }) - }.padding(20) - } -} - -@Entry -@Component -struct CustomDialogUser { - dialogController : CustomDialogController = new CustomDialogController({ - builder: DialogExample({action: this.onAccept}), - cancel: this.existApp, - autoCancel: true - }); - - onAccept() { - console.log("onAccept"); - } - existApp() { - console.log("Cancel dialog!"); - } - - build() { - Column() { - Button("Click to open Dialog") - .onClick(() => { - this.dialogController.open() - }) - } - } -} -``` - -![custom-dialog-demo](figures/custom-dialog-demo.gif) \ No newline at end of file diff --git a/zh-cn/application-dev/ui/ts-component-based-entry.md b/zh-cn/application-dev/ui/ts-component-based-entry.md deleted file mode 100644 index 74e81fe05e..0000000000 --- a/zh-cn/application-dev/ui/ts-component-based-entry.md +++ /dev/null @@ -1,35 +0,0 @@ -# @Entry - -用@Entry装饰的自定义组件用作页面的默认入口组件,加载页面时,将首先创建并呈现@Entry装饰的自定义组件。 - - -> **说明:** -> 在单个源文件中,最多可以使用@Entry装饰一个自定义组件。 - - -@Entry的用法如下: - - -```ts -// Only MyComponent decorated by @Entry is rendered and displayed. "hello world" is displayed, but "goodbye" is not displayed. -@Entry -@Component -struct MyComponent { - build() { - Column() { - Text('hello world') - .fontColor(Color.Red) - } - } -} - -@Component -struct HideComponent { - build() { - Column() { - Text('goodbye') - .fontColor(Color.Blue) - } - } -} -``` diff --git a/zh-cn/application-dev/ui/ts-component-based-extend.md b/zh-cn/application-dev/ui/ts-component-based-extend.md deleted file mode 100644 index ff4074ff37..0000000000 --- a/zh-cn/application-dev/ui/ts-component-based-extend.md +++ /dev/null @@ -1,32 +0,0 @@ -# @Extend - -@Extend装饰器将新的属性函数添加到内置组件上,如Text、Column、Button等。通过@Extend装饰器可以快速定义并复用组件的自定义样式。 - - -```ts -// xxx.ets -@Extend(Text) function fancy(fontSize: number) { - .fontColor(Color.Red) - .fontSize(fontSize) - .fontStyle(FontStyle.Italic) -} - -@Entry -@Component -struct FancyUse { - build() { - Row({ space: 10 }) { - Text("Fancy") - .fancy(16) - Text("Fancy") - .fancy(24) - } - } -} -``` - - -> **说明:** -> -> - @Extend装饰器不能用在自定义组件struct定义框内。 -> - @Extend装饰器内仅支持属性函数语句。 diff --git a/zh-cn/application-dev/ui/ts-component-based-preview.md b/zh-cn/application-dev/ui/ts-component-based-preview.md deleted file mode 100644 index 83c47e4916..0000000000 --- a/zh-cn/application-dev/ui/ts-component-based-preview.md +++ /dev/null @@ -1,61 +0,0 @@ -# @Preview - -用@Preview装饰的自定义组件可以在DevEco Studio的预览器上进行实时预览,不支持动态图和动态预览,加载页面时,将创建并呈现@Preview装饰的自定义组件。 - - -> **说明:** -> 在单个源文件中,最多可以使用10个@Preview装饰自定义组件,更多说明请参考[查看eTS组件预览效果]( https://developer.harmonyos.com/cn/docs/documentation/doc-guides/ohos-previewing-app-service-0000001218760596#section146052489820 )。 - - -@Preview的用法如下: - - -```ts -// xxx.ets -@Entry -@Component -struct MyComponent { - build() { - Column() { - Row() { - Text('Hello World!') - .fontSize("50lpx") - .fontWeight(FontWeight.Bold) - } - Row() { - Component1() - } - Row() { - Component2() - } - } - } -} - -@Preview -@Component -struct Component1 { - build() { - Column() { - Row() { - Text('Hello Component1') - .fontSize("50lpx") - .fontWeight(FontWeight.Bold) - } - } - } -} - -@Component -struct Component2 { - build() { - Column() { - Row() { - Text('Hello Component2') - .fontSize("50lpx") - .fontWeight(FontWeight.Bold) - } - } - } -} -``` diff --git a/zh-cn/application-dev/ui/ts-component-based-styles.md b/zh-cn/application-dev/ui/ts-component-based-styles.md deleted file mode 100644 index 288081d69f..0000000000 --- a/zh-cn/application-dev/ui/ts-component-based-styles.md +++ /dev/null @@ -1,74 +0,0 @@ -# @Styles - - - -@Styles装饰器将新的属性函数添加到基本组件上,如Text、Column、Button等。当前@Styles仅支持通用属性。通过@Styles装饰器可以快速定义并复用组件的自定义样式。 - -@Styles可以定义在组件内或组件外,在组件外定义时需在方法前添加function关键字,组件内定义时不需要添加function关键字。 - - -```ts -// xxx.ets -@Styles function globalFancy() { - .backgroundColor(Color.Red) -} - -@Entry -@Component -struct FancyUse { - @Styles componentFancy() { - .backgroundColor(Color.Blue) - } - build() { - Column({ space: 10 }) { - Text("Fancy") - .globalFancy() - .width(100) - .height(100) - .fontSize(30) - Text("Fancy") - .componentFancy() - .width(100) - .height(100) - .fontSize(30) - } - } -} -``` - -@Styles还可以在[StateStyles](../reference/arkui-ts/ts-universal-attributes-polymorphic-style.md)属性内部使用,在组件处于不同的状态时赋予相应的属性。 - -在StateStyles内可以直接调用组件外定义的Styles,但需要通过this关键字调用组件内定义的Styles。 - -```ts -// xxx.ets -@Styles function globalFancy() { - .width(100) - .height(100) -} - -@Entry -@Component -struct FancyUse { - @Styles componentFancy() { - .width(50) - .height(50) - } - build() { - Row({ space: 10 }) { - Button() { - Text("Fancy") - } - .stateStyles({ - normal: { - .width(80) - .height(80) - }, - disabled: this.componentFancy, - pressed: globalFancy - }) - } - } -} -``` - diff --git a/zh-cn/application-dev/ui/ts-component-states-link.md b/zh-cn/application-dev/ui/ts-component-states-link.md deleted file mode 100644 index e6aef9bf93..0000000000 --- a/zh-cn/application-dev/ui/ts-component-states-link.md +++ /dev/null @@ -1,137 +0,0 @@ -# @Link - -@Link装饰的变量可以和父组件的@State变量建立双向数据绑定: - - -- 支持多种类型:@Link变量的值与@State变量的类型相同,即class、number、string、boolean或这些类型的数组; - -- 私有:仅在组件内访问; - -- 单个数据源:初始化@Link变量的父组件的变量必须是@State变量; - -- 双向通信:子组件对@Link变量的更改将同步修改父组件的@State变量; - -- 创建自定义组件时需要将变量的引用传递给@Link变量,在创建组件的新实例时,必须使用命名参数初始化所有@Link变量。@Link变量可以使用@State变量或@Link变量的引用进行初始化,@State变量可以通过`'$'`操作符创建引用。 - - -> 说明: -> @Link变量不能在组件内部进行初始化。 - - -## 简单类型示例 - -```ts -// xxx.ets -@Entry -@Component -struct Player { - @State isPlaying: boolean = false - build() { - Column() { - PlayButton({buttonPlaying: $isPlaying}) - Text(`Player is ${this.isPlaying? '':'not'} playing`) - } - } -} - -@Component -struct PlayButton { - @Link buttonPlaying: boolean - build() { - Column() { - Button() { - Image(this.buttonPlaying? 'play.png' : 'pause.png') - }.onClick(() => { - this.buttonPlaying = !this.buttonPlaying - }) - } - } -} -``` - -@Link语义是从`'$'`操作符引出,即`$isPlaying`是`this.isPlaying`内部状态的双向数据绑定。当单击PlayButton时,PlayButton的Image组件和Text组件将同时进行刷新。 - - -## 复杂类型示例 - -```ts -// xxx.ets -@Entry -@Component -struct Parent { - @State arr: number[] = [1, 2, 3] - build() { - Column() { - Child({items: $arr}) - ForEach(this.arr, - item => Text(`${item}`), - item => item.toString()) - } - } -} - -@Component -struct Child { - @Link items: number[] - build() { - Column() { - Button() { - Text('Button1: push') - }.onClick(() => { - this.items.push(100) - }) - Button() { - Text('Button2: replace whole item') - }.onClick(() => { - this.items = [100, 200, 300] - }) - } - } -} -``` - -在上面的示例中,点击Button1和Button2更改父组件中显示的文本项目列表。 - - -## @Link、@State和@Prop结合使用示例 - -```ts -// xxx.ets -@Entry -@Component -struct ParentView { - @State counter: number = 0 - build() { - Column() { - ChildA({counterVal: this.counter}) // pass by value - ChildB({counterRef: $counter}) // $ creates a Reference that can be bound to counterRef - } - } -} - -@Component -struct ChildA { - @Prop counterVal: number - build() { - Button() { - Text(`ChildA: (${this.counterVal}) + 1`) - }.onClick(() => {this.counterVal+= 1}) - } -} - -@Component -struct ChildB { - @Link counterRef: number - build() { - Button() { - Text(`ChildB: (${this.counterRef}) + 1`) - }.onClick(() => {this.counterRef+= 1}) - } -} -``` - -上述示例中,ParentView包含ChildA和ChildB两个子组件,ParentView的状态变量counter分别初始化ChildA和ChildB。 - -- ChildB使用@Link建立双向状态绑定。当ChildB修改counterRef状态变量值时,该更改将同步到ParentView和ChildA共享; - -- ChildA使用@Prop建立从ParentView到自身的单向状态绑定。当ChildA修改状态时,ChildA将重新渲染,但该更改不会传达给ParentView和ChildB。 diff --git a/zh-cn/application-dev/ui/ts-component-states-prop.md b/zh-cn/application-dev/ui/ts-component-states-prop.md deleted file mode 100644 index 997bf63e91..0000000000 --- a/zh-cn/application-dev/ui/ts-component-states-prop.md +++ /dev/null @@ -1,70 +0,0 @@ -# @Prop - -@Prop与@State有相同的语义,但初始化方式不同。@Prop装饰的变量必须使用其父组件提供的@State变量进行初始化,允许组件内部修改@Prop变量,但更改不会通知给父组件,即@Prop属于单向数据绑定。 - -@Prop状态数据具有以下特征: - - -- 支持简单类型:仅支持number、string、boolean简单类型; - -- 私有:仅在组件内访问; - -- 支持多个实例:一个组件中可以定义多个标有@Prop的属性; - -- 创建自定义组件时将值传递给@Prop变量进行初始化:在创建组件的新实例时,必须初始化所有@Prop变量,不支持在组件内部进行初始化。 - - -## 示例 - -```ts -// xxx.ets -@Entry -@Component -struct ParentComponent { - @State countDownStartValue: number = 10 // 10 Nuggets default start value in a Game - build() { - Column() { - Text(`Grant ${this.countDownStartValue} nuggets to play.`) - Button() { - Text('+1 - Nuggets in New Game') - }.onClick(() => { - this.countDownStartValue += 1 - }) - Button() { - Text('-1 - Nuggets in New Game') - }.onClick(() => { - this.countDownStartValue -= 1 - }) - // 创建子组件时,必须在构造函数参数中提供其@Prop变量的初始值,同时初始化常规变量CostOfOneAttump(非Prop) - CountDownComponent({ count: this.countDownStartValue, costOfOneAttempt: 2}) - } - } -} - -@Component -struct CountDownComponent { - @Prop count: number - private costOfOneAttempt: number - - build() { - Column() { - if (this.count > 0) { - Text(`You have ${this.count} Nuggets left`) - } else { - Text('Game over!') - } - - Button() { - Text('Try again') - }.onClick(() => { - this.count -= this.costOfOneAttempt - }) - } - } -} -``` - -在上述示例中,当按“+1”或“-1”按钮时,父组件状态发生变化,重新执行build方法,此时将创建一个新的CountDownComponent组件。父组件的countDownStartValue状态属性被用于初始化子组件的@Prop变量,当按下子组件的“Try again”按钮时,其@Prop变量count将被更改,CountDownComponent重新渲染。但是count值的更改不会影响父组件的countDownStartValue值。 - -> **说明:** -> 创建新组件实例时,必须初始化其所有@Prop变量。 diff --git a/zh-cn/application-dev/ui/ts-component-states-state.md b/zh-cn/application-dev/ui/ts-component-states-state.md deleted file mode 100644 index 154c1a5c3a..0000000000 --- a/zh-cn/application-dev/ui/ts-component-states-state.md +++ /dev/null @@ -1,106 +0,0 @@ -# @State - -@State装饰的变量是组件内部的状态数据,当这些状态数据被修改时,将会调用所在组件的build方法进行UI刷新,只能监听第一层数据的改变,内层数据的改变@State监听不到,无法触发build生命周期。 - -@State状态数据具有以下特征: - - -- 支持多种类型:允许class、number、boolean、string强类型的按值和按引用类型。允许这些强类型构成的数组,即Array<class>、Array<string>、Array<boolean>、Array<number>。不允许object和any。 - -- 支持多实例:组件不同实例的内部状态数据独立。 - -- 内部私有:标记为@State的属性是私有变量,只能在组件内访问。 - -- 需要本地初始化:必须为所有@State变量分配初始值,将变量保持未初始化可能导致框架行为未定义。 - -- 创建自定义组件时支持通过状态变量名设置初始值:在创建组件实例时,可以通过变量名显式指定@State状态属性的初始值。 - - -## 简单类型的状态属性示例 - -```ts -// xxx.ets -@Entry -@Component -struct MyComponent { - @State count: number = 0 - // MyComponent provides a method for modifying the @State status data member. - private toggleClick() { - this.count += 1 - } - - build() { - Column() { - Button() { - Text(`click times: ${this.count}`) - .fontSize(10) - }.onClick(this.toggleClick.bind(this)) - } - } -} -``` - -![@state1](figures/@state1.gif) - -## 复杂类型的状态变量示例 - -```ts -// Customize the status data class. -// xxx.ets -class Model { - value: string - constructor(value: string) { - this.value = value - } -} - -@Entry -@Component -struct EntryComponent { - build() { - Column() { - MyComponent({count: 1, increaseBy: 2}) // MyComponent1 in this document - MyComponent({title: {value: 'Hello, World 2'}, count: 7}) //MyComponent2 in this document - } - } -} - -@Component -struct MyComponent { - @State title: Model = {value: 'Hello World'} - @State count: number = 0 - private toggle: string = 'Hello World' - private increaseBy: number = 1 - - build() { - Column() { - Text(`${this.title.value}`).fontSize(30) - Button() { - Text(`Click to change title`).fontSize(20).fontColor(Color.White) - }.onClick(() => { - this.title.value = (this.toggle == this.title.value) ? 'Hello World' : 'Hello UI' - }) // Modify the internal state of MyComponent using the anonymous method. - - Button() { - Text(`Click to increase count=${this.count}`).fontSize(20).fontColor(Color.White) - }.onClick(() => { - this.count += this.increaseBy - }) // Modify the internal state of MyComponent using the anonymous method. - } - } -} -``` - -![@state1](figures/@state.png) - -在上述示例中: - - -- 用户定义的组件MyComponent定义了@State状态变量count和title。如果count或title的值发生变化,则执行MyComponent的build方法来重新渲染组件; - -- EntryComponent中有多个MyComponent组件实例,第一个MyComponent内部状态的更改不会影响第二个MyComponent; - -- 创建MyComponent实例时通过变量名给组件内的变量进行初始化,如: - ```ts - MyComponent({title: {value: 'Hello, World 2'}, count: 7}) - ``` diff --git a/zh-cn/application-dev/ui/ts-configuration-with-mandatory-parameters.md b/zh-cn/application-dev/ui/ts-configuration-with-mandatory-parameters.md deleted file mode 100644 index 17c9aa3f3f..0000000000 --- a/zh-cn/application-dev/ui/ts-configuration-with-mandatory-parameters.md +++ /dev/null @@ -1,33 +0,0 @@ -# 必选参数构造配置 - - -如果组件的接口定义中包含必选构造参数,则在组件后面的“()”中必须配置参数,参数可以使用常量进行赋值。 - - -例如: - - -- Image组件的必选参数src: - ```ts - Image('http://xyz/a.jpg') - ``` - - -- Text组件的必选参数content: - ```ts - Text('123') - ``` - - -变量或表达式也可以用于参数赋值,其中表达式返回的结果类型必须满足参数类型要求。例如,传递变量或表达式来构造Image和Text组件的参数: - - -```ts -// imagePath, where imageUrl is a private data variable defined in the component. -Image(this.imagePath) -Image('http://' + this.imageUrl) -// count is a private data variable defined in the component. -// (``) and (${}) are the template character string features supported by the TS language and comply with the -// features of the corresponding language. This specification is not limited. -Text(`count: ${this.count}`) -``` diff --git a/zh-cn/application-dev/ui/ts-event-configuration.md b/zh-cn/application-dev/ui/ts-event-configuration.md deleted file mode 100644 index d9c2274dca..0000000000 --- a/zh-cn/application-dev/ui/ts-event-configuration.md +++ /dev/null @@ -1,36 +0,0 @@ -# 事件配置 - -通过事件方法可以配置组件支持的事件。从API Version 9开始,可以在回调函数中获取当前component关联的Context,具体用法请参考[在eTS页面中访问Context](../ability/context-userguide.md)。 - - -- 使用lambda表达式配置组件的事件方法: - ```ts - // Counter is a private data variable defined in the component. - Button('add counter') - .onClick(() => { - this.counter += 2 - }) - ``` - - -- 使用匿名函数表达式配置组件的事件方法,要求使用bind,以确保函数体中的this引用包含的组件: - ```ts - // Counter is a private data variable defined in the component. - Button('add counter') - .onClick(function () { - this.counter += 2 - }.bind(this)) - ``` - - -- 使用组件的成员函数配置组件的事件方法: - ```ts - myClickHandler(): void { - // do something - } - - ... - - Button('add counter') - .onClick(this.myClickHandler) - ``` diff --git a/zh-cn/application-dev/ui/ts-function-build.md b/zh-cn/application-dev/ui/ts-function-build.md deleted file mode 100644 index 82d6b93c4f..0000000000 --- a/zh-cn/application-dev/ui/ts-function-build.md +++ /dev/null @@ -1,14 +0,0 @@ -# build函数 - -build函数满足Builder构造器接口定义,用于定义组件的声明式UI描述。必须遵循上述Builder接口约束,在build方法中以声明式方式进行组合自定义组件或系统内置组件,在组件创建和更新场景中都会调用build方法。 - - -```ts -interface Builder { - build: () => void -} -``` - - -> **说明:** -> build方法仅支持组合组件,使用渲染控制语法。 diff --git a/zh-cn/application-dev/ui/ts-general-ui-concepts.md b/zh-cn/application-dev/ui/ts-general-ui-concepts.md deleted file mode 100644 index 9735a4db91..0000000000 --- a/zh-cn/application-dev/ui/ts-general-ui-concepts.md +++ /dev/null @@ -1,50 +0,0 @@ -# 基本概念 - -基于eTS的声明式开发范式提供了一系列基础组件,这些组件以声明方式进行组合和扩展来描述应用程序的UI界面,并且还提供了基本的数据绑定和事件处理机制,帮助开发者实现应用交互逻辑。 - - -## HelloWorld基本示例 - -```ts -// An example of displaying Hello World. After you click the button, Hello UI is displayed. -// xxx.ets -@Entry -@Component -struct Hello { - @State myText: string = 'World' - build() { - Column() { - Text('Hello') - .fontSize(30) - Text(this.myText) - .fontSize(32) - Divider() - Button() { - Text('Click me') - .fontColor(Color.Red) - }.onClick(() => { - this.myText = 'UI' - }) - .width(500) - .height(200) - } - } -} -``` - - -## 基本概念描述 - -上述示例代码描述了简单页面的结构,并介绍了以下基本概念: - -- 装饰器:方舟开发框架定义了一些具有特殊含义的装饰器,用于装饰类、结构、方法和变量。例如,上例中的@Entry、@Component和@State都是装饰器。 - -- 自定义组件:可重用的UI单元,可以与其他组件组合,如@Component装饰的struct Hello。 - -- UI描述:声明性描述UI结构,例如build()方法中的代码块。 - -- 内置组件:框架中默认内置的基本组件和布局组件,开发者可以直接调用,如Column、Text、Divider、Button等。 - -- 属性方法:用于配置组件属性,如fontSize()、width()、height()、color()等。 - -- 事件方法:在事件方法的回调中添加组件响应逻辑。例如,为Button组件添加onClick方法,在onClick方法的回调中添加点击响应逻辑。 diff --git a/zh-cn/application-dev/ui/ts-other-states-consume-provide.md b/zh-cn/application-dev/ui/ts-other-states-consume-provide.md deleted file mode 100644 index 91a13862b2..0000000000 --- a/zh-cn/application-dev/ui/ts-other-states-consume-provide.md +++ /dev/null @@ -1,73 +0,0 @@ -# @Consume和@Provide数据管理 - -Provide作为数据的提供方,可以更新其子孙节点的数据,并触发页面渲染。Consume在感知到Provide数据的更新后,会触发当前view的重新渲染。 - -表1 @Provide - -| 名称 | 说明 | -| ------- | ---------------------------------------- | -| 装饰器参数 | 是一个string类型的常量,用于给装饰的变量起别名。如果规定别名,则提供对应别名的数据更新。如果没有,则使用变量名作为别名。推荐使用@Provide("alias")这种形式。 | -| 同步机制 | @Provide的变量类似@state,可以修改对应变量进行页面重新渲染。也可以修改@Consume装饰的变量,反向修改@State变量。 | -| 初始值 | 必须制定初始值。 | -| 页面重渲染场景 | 触发页面渲染的修改:
- 基础类型(boolean,string,number)变量的改变;
- @Observed class类型变量及其属性的修改;
- 添加,删除,更新数组中的元素。 | - -表2 @Consume - -| 类型 | 说明 | -| ---- | -------- | -| 初始值 | 不可设置默认值。 | - - -> **说明:** -> 使用@Provide 和@Consume时避免循环引用导致死循环。 - - -其他属性说明与Provide一致。 - - -```ts -// xxx.ets -@Entry -@Component -struct CompA { - @Provide("reviewVote") reviewVotes : number = 0; - - build() { - Column() { - CompB() - Button() { - Text(`${this.reviewVotes}`) - .fontSize(30) - } - .onClick(() => { - this.reviewVotes += 1; - }) - } - } -} - -@Component -struct CompB { - build() { - Column() { - CompC() - } - } -} - -@Component -struct CompC { - @Consume("reviewVote") reviewVotes : number; - build() { - Column() { - Button() { - Text(`${this.reviewVotes}`) - .fontSize(30) - } - .onClick(() => { - this.reviewVotes += 1; - }) - } - } -} -``` diff --git a/zh-cn/application-dev/ui/ts-other-states-observed-objectlink.md b/zh-cn/application-dev/ui/ts-other-states-observed-objectlink.md deleted file mode 100644 index 7a76f0d0c4..0000000000 --- a/zh-cn/application-dev/ui/ts-other-states-observed-objectlink.md +++ /dev/null @@ -1,183 +0,0 @@ -# Observed和ObjectLink数据管理 - -本章将引入两个新的装饰符@Observed和@ObjectLink: - - -- @Observed应用于类,表示该类中的数据变更被UI页面管理,例如:@Observed class ClassA {}。 - -- @ObjectLink应用于被@Observed所装饰类的对象,例如:@ObjectLink a: ClassA。 - - -## 引入动机 - -当开发者需要在子组件中针对父组件的一个变量(parent_a)设置双向同步时,开发者可以在父组件中使用\@State装饰变量(parent_a),并在子组件中使用@Link装饰相应的变量(child_a)。这样的话,不仅可以实现父组件与单个子组件之间的数据同步,也可以实现父组件与多个子组件之间的数据同步。如下图所示,可以看到,父子组件针对ClassA类型的变量设置了双向同步,那么当子组件1中变量的属性c的值变化时,会通知父组件同步变化,而当父组件中属性c的值变化时,会通知所有子组件同步变化。 - -![](figures/zh-cn_image_0000001251090821.png) - -然而,上述例子是针对某个数据对象进行的整体同步,而当开发者只想针对父组件中某个数据对象的部分信息进行同步时,使用@Link就不能满足要求。如果这些部分信息是一个类对象,就可以使用@ObjectLink配合@Observed来实现,如下图所示。 - -![](figures/zh-cn_image_0000001206450834.png) - - -## 设置要求 - -- @Observed 用于类,@ObjectLink 用于变量。 - -- @ObjectLink装饰的变量类型必须为类(class type)。 - - 类要被\@Observed装饰器所装饰。 - - 不支持简单类型参数,可以使用@Prop进行单向同步。 - -- @ObjectLink装饰的变量是不可变的(immutable)。 - - 属性的改动是被允许的,当改动发生时,如果同一个对象被多个@ObjectLink变量所引用,那么所有拥有这些变量的自定义组件都会被通知去重新渲染。 - -- @ObjectLink装饰的变量不可设置默认值。 - - 必须让父组件中有一个由@State、@Link、@StorageLink、@Provide或@Consume所装饰变量参与的TS表达式进行初始化。 - -- @ObjectLink装饰的变量是私有变量,只能在组件内访问。 - - -## 示例 - - -### 案例1 - -```ts -//父组件ViewB中的类对象ClassB,其包含的对象ClassA与子组件ViewA数据同步时,通过ObjectLink将数据c值的变化状态通知给父组件同步变化。 -@Observed -class ClassA { - public name : string; - public c: number; - constructor(c: number, name: string = 'OK') { - this.name = name; - this.c = c; - } -} - -class ClassB { - public a: ClassA; - constructor(a: ClassA) { - this.a = a; - } -} - -@Component -struct ViewA { - label : string = "ep1"; - @ObjectLink a : ClassA; - build() { - Column() { - Text(`ViewA [${this.label}]: a.c=${this.a.c}`) - .fontSize(20) - Button(`+1`) - .width(100) - .margin(2) - .onClick(() => { - this.a.c += 1; - }) - Button(`reset`) - .width(100) - .margin(2) - .onClick(() => { - this.a = new ClassA(0); // 错误:ObjectLink装饰的变量a是不可变的 - }) - } - } -} - -@Entry -@Component -struct ViewB { - @State b : ClassB = new ClassB(new ClassA(10)); - build() { - Flex({direction: FlexDirection.Column, alignItems: ItemAlign.Center}) { - ViewA({label: "ViewA #1", a: this.b.a}) - ViewA({label: "ViewA #2", a: this.b.a}) - - Button(`ViewB: this.b.a.c += 1` ) - .width(320) - .margin(4) - .onClick(() => { - this.b.a.c += 1; - }) - Button(`ViewB: this.b.a = new ClassA(0)`) - .width(240) - .margin(4) - .onClick(() => { - this.b.a = new ClassA(0); - }) - Button(`ViewB: this.b = new ClassB(ClassA(0))`) - .width(240) - .margin(4) - .onClick(() => { - this.b = new ClassB(new ClassA(0)); - }) - } - } -} -``` - - -### 案例2 - -```ts -// 父组件ViewB中的类对象ClassA与子组件ViewA保持数据同步时,可以使用@ObjectLink和@Observed,绑定该数据对象的父组件和其他子组件同步更新 -var nextID: number = 0; -@Observed -class ClassA { - public name : string; - public c: number; - public id : number; - constructor(c: number, name: string = 'OK') { - this.name = name; - this.c = c; - this.id = nextID++; - } -} - -@Component -struct ViewA { - label : string = "ViewA1"; - @ObjectLink a: ClassA; - build() { - Row() { - Button(`ViewA [${this.label}] this.a.c= ${this.a.c} +1`) - .onClick(() => { - this.a.c += 1; - }) - }.margin({ top: 10 }) - } -} - -@Entry -@Component -struct ViewB { - @State arrA : ClassA[] = [ new ClassA(0), new ClassA(0) ]; - build() { - Column() { - ForEach (this.arrA, (item) => { - ViewA({label: `#${item.id}`, a: item}) - }, - (item) => item.id.toString() - ) - ViewA({label: `ViewA this.arrA[first]`, a: this.arrA[0]}) - ViewA({label: `ViewA this.arrA[last]`, a: this.arrA[this.arrA.length-1]}) - - Button(`ViewB: reset array`) - .margin({ top: 10 }) - .onClick(() => { - this.arrA = [ new ClassA(0), new ClassA(0) ]; - }) - Button(`ViewB: push`) - .margin({ top: 10 }) - .onClick(() => { - this.arrA.push(new ClassA(0)) - }) - Button(`ViewB: shift`) - .margin({ top: 10 }) - .onClick(() => { - this.arrA.shift() - }) - } - } -} -``` diff --git a/zh-cn/application-dev/ui/ts-other-states-watch.md b/zh-cn/application-dev/ui/ts-other-states-watch.md deleted file mode 100644 index b1a6feb21e..0000000000 --- a/zh-cn/application-dev/ui/ts-other-states-watch.md +++ /dev/null @@ -1,46 +0,0 @@ -# @Watch - -@Watch用于监听状态变量的变化,语法结构为: - - -```ts -@State @Watch("onChanged") count : number = 0 -``` - - -如上给状态变量增加一个@Watch装饰器,通过@Watch注册一个回调方法onChanged, 当状态变量count被改变时, 触发onChanged回调。 - - -装饰器@State、@Prop、@Link、@ObjectLink、@Provide、@Consume、@StorageProp以及@StorageLink装饰的变量可以监听其变化。 - - -```ts -// xxx.ets -@Entry -@Component -struct CompA { - @State @Watch("onBasketUpdated") shopBasket : Array = [ 7, 12, 47, 3 ]; - @State totalPurchase : number = 0; - - updateTotal() : number { - let sum = 0; - this.shopBasket.forEach((i) => { sum += i; }); - // 计算新的购物篮总价值,如果超过100RMB,则适用折扣 - this.totalPurchase = (sum < 100) ? sum : 0.9 * sum; - return this.totalPurchase; - } - - // @Watch cb - onBasketUpdated(propName: string) : void { - this.updateTotal(); - } - - build() { - Column() { - Button("add to basket").onClick(() => { this.shopBasket.push(Math.round(100 * Math.random())) }) - Text(`${this.totalPurchase}`) - .fontSize(30) - } - } -} -``` diff --git a/zh-cn/application-dev/ui/ts-parameterless-configuration.md b/zh-cn/application-dev/ui/ts-parameterless-configuration.md deleted file mode 100644 index b328a96662..0000000000 --- a/zh-cn/application-dev/ui/ts-parameterless-configuration.md +++ /dev/null @@ -1,13 +0,0 @@ -# 无参数构造配置 - - -组件的接口定义不包含必选构造参数,组件后面的“()”中不需要配置任何内容。例如,Divider组件不包含构造参数: - - -```ts -Column() { - Text('item 1') - Divider() // No parameter configuration of the divider component - Text('item 2') -} -``` diff --git a/zh-cn/application-dev/ui/ts-rending-control-syntax-foreach.md b/zh-cn/application-dev/ui/ts-rending-control-syntax-foreach.md deleted file mode 100644 index 9ee7f145ce..0000000000 --- a/zh-cn/application-dev/ui/ts-rending-control-syntax-foreach.md +++ /dev/null @@ -1,142 +0,0 @@ -# 循环渲染 - -开发框架提供循环渲染(ForEach组件)来迭代数组,并为每个数组项创建相应的组件。当循环渲染的元素较多时,会出现页面加载变慢的情况,出于性能考虑,建议使用[LazyForEach](ts-rending-control-syntax-lazyforeach.md)代替。ForEach定义如下: - - -```ts -ForEach( - arr: any[], // Array to be iterated - itemGenerator: (item: any, index?: number) => void, // child component generator - keyGenerator?: (item: any, index?: number) => string // (optional) Unique key generator, which is recommended. -) -``` - - -## ForEach - - -ForEach(arr: any[],itemGenerator: (item: any, index?: number) => void, keyGenerator?: (item: any, index?: number) => string):void - - -表1 参数说明 - -| 参数名 | 参数类型 | 必填 | 默认值 | 参数描述 | -| ------------- | ---------------------------------------- | ---- | ---- | ---------------------------------------- | -| arr | any[] | 是 | - | 必须是数组,允许空数组,空数组场景下不会创建子组件。同时允许设置返回值为数组类型的函数,例如arr.slice(1, 3),设置的函数不得改变包括数组本身在内的任何状态变量,如Array.splice、Array.sort或Array.reverse这些改变原数组的函数。 | -| itemGenerator | (item: any, index?: number) => void | 是 | - | 生成子组件的lambda函数,为给定数组项生成一个或多个子组件,单个组件和子组件列表必须括在大括号“{....}”中。 | -| keyGenerator | (item: any, index?: number) => string | 否 | - | 匿名参数,用于给定数组项生成唯一且稳定的键值。当子项在数组中的位置更改时,子项的键值不得更改,当数组中的子项被新项替换时,被替换项的键值和新项的键值必须不同。键值生成器的功能是可选的,但是,为了使开发框架能够更好地识别数组更改,提高性能,建议提供。如将数组反向时,如果没有提供键值生成器,则ForEach中的所有节点都将重建。 | - - -> **说明:** -> - 必须在容器组件内使用; -> -> - 生成的子组件允许在ForEach的父容器组件中,允许子组件生成器函数中包含if/else条件渲染,同时也允许ForEach包含在if/else条件渲染语句中; -> -> - 子项生成器函数的调用顺序不一定和数组中的数据项相同,在开发过程中不要假设子项生成器和键值生成器函数是否执行以及执行顺序。如下示例可能无法正常工作: -> ```ts -> ForEach(anArray, item => {Text(`${++counter}. item.label`)}) -> ``` -> -> 正确的示例如下: -> -> ```ts -> ForEach(anArray.map((item1, index1) => { return { i: index1 + 1, data: item1 }; }), -> item => Text(`${item.i}. item.data.label`), -> item => item.data.id.toString()) -> ``` - - -## 示例 - -简单类型数组示例: - -```ts -// xxx.ets -@Entry -@Component -struct MyComponent { - @State arr: number[] = [10, 20, 30] - build() { - Column() { - Button() { - Text('Reverse Array') - }.onClick(() => { - this.arr.reverse() - }) - - ForEach(this.arr, // Parameter 1: array to be iterated - (item: number) => { // Parameter 2: item generator - Text(`item value: ${item}`) - Divider() - }, - (item: number) => item.toString() // Parameter 3: unique key generator, which is optional but recommended. - ) - } - } -} -``` - -复杂类型数组示例: -```ts -// xxx.ets -class Month { - year: number - month: number - days: Array - - constructor(year, month, days) { - this.year = year; - this.month = month; - this.days = days; - } -} - -@Entry -@Component -struct Calendar1 { -// simulate with 6 months - @State calendar: Month[] = [ - new Month(2020, 1, [...Array(31).keys()]), - new Month(2020, 2, [...Array(28).keys()]), - new Month(2020, 3, [...Array(31).keys()]), - new Month(2020, 4, [...Array(30).keys()]), - new Month(2020, 5, [...Array(31).keys()]), - new Month(2020, 6, [...Array(30).keys()]), - ] - - build() { - Column() { - Button('next month') - .onClick(() => { - this.calendar.shift() - this.calendar.push({ - year: 2020, - month: 7, - days: [...Array(31) - .keys()] - }) - }) - ForEach(this.calendar, - (item: Month) => { - Text('month:' + item.month) - .fontSize(30) - .padding(20) - Grid() { - ForEach(item.days, - (day: number) => { - GridItem() { - Text((day + 1).toString()) - .fontSize(30) - } - }, - (day: number) => day.toString()) - } - .columnsTemplate('1fr 1fr 1fr 1fr 1fr 1fr 1fr') - .rowsGap(20) - }, - // field is used together with year and month as the unique ID of the month. - (item: Month) => (item.year * 12 + item.month).toString()) - } - } -} -``` diff --git a/zh-cn/application-dev/ui/ts-rending-control-syntax-if-else.md b/zh-cn/application-dev/ui/ts-rending-control-syntax-if-else.md deleted file mode 100644 index fc496c42b6..0000000000 --- a/zh-cn/application-dev/ui/ts-rending-control-syntax-if-else.md +++ /dev/null @@ -1,44 +0,0 @@ -# 条件渲染 - -使用if/else进行条件渲染。 - - -> **说明:** -> - if条件语句可以使用状态变量。 -> -> - 使用if可以使子组件的渲染依赖条件语句。 -> -> - 必须在容器组件内使用。 -> -> - 某些容器组件限制子组件的类型或数量。将if放置在这些组件内时,这些限制将应用于if和else语句内创建的组件。例如,Grid组件的子组件仅支持GridItem组件,在Grid组件内使用if时,则if条件语句内仅允许使用GridItem组件。 - - -## 示例 - -使用if条件语句: - -```ts -Column() { - if (this.count > 0) { - Text('count is positive') - } -} -``` - - -使用if、else if、else条件语句: - - -```ts -Column() { - if (this.count < 0) { - Text('count is negative') - } else if (this.count % 2 === 0) { - Divider() - Text('even') - } else { - Divider() - Text('odd') - } -} -``` diff --git a/zh-cn/application-dev/ui/ts-rending-control-syntax-lazyforeach.md b/zh-cn/application-dev/ui/ts-rending-control-syntax-lazyforeach.md deleted file mode 100644 index 7c70032dec..0000000000 --- a/zh-cn/application-dev/ui/ts-rending-control-syntax-lazyforeach.md +++ /dev/null @@ -1,191 +0,0 @@ -# 数据懒加载 - -开发框架提供数据懒加载(LazyForEach组件)从提供的数据源中按需迭代数据,并在每次迭代过程中创建相应的组件。LazyForEach定义如下: - - -```ts -LazyForEach( - dataSource: IDataSource, // Data source to be iterated - itemGenerator: (item: any) => void, // child component generator - keyGenerator?: (item: any) => string // (optional) Unique key generator, which is recommended. -): void - -interface IDataSource { - totalCount(): number; // Get total count of data - getData(index: number): any; // Get single data by index - registerDataChangeListener(listener: DataChangeListener): void; // Register listener to listening data changes - unregisterDataChangeListener(listener: DataChangeListener): void; // Unregister listener -} - -interface DataChangeListener { - onDataReloaded(): void; // Called while data reloaded - onDataAdd(index: number): void; // Called while single data added - onDataMove(from: number, to: number): void; // Called while single data moved - onDataDelete(index: number): void; // Called while single data deleted - onDataChange(index: number): void; // Called while single data changed -} -``` - - -## 接口 - - -### LazyForEach - -LazyForEach(dataSource: IDataSource, itemGenerator: (item: any) => void, keyGenerator?: (item: any) => string):void - -表1 参数说明 - -| 参数名 | 参数类型 | 必填 | 默认值 | 参数描述 | -| ------------- | --------------------------------------- | ---- | ---- | ---------------------------------------- | -| dataSource | IDataSource | 是 | - | 实现IDataSource接口的对象,需要开发者实现相关接口。 | -| itemGenerator | (item: any) => void | 是 | - | 生成子组件的lambda函数,为给定数组项生成一个或多个子组件,单个组件和子组件列表必须括在大括号“{....}”中。 | -| keyGenerator | (item: any) => string | 否 | - | 匿名函数,用于键值生成,为给定数组项生成唯一且稳定的键值。当子项在数组中的位置更改时,子项的键值不得更改,当数组中的子项被新项替换时,被替换项的键值和新项的键值必须不同。键值生成器的功能是可选的,但是,为了使开发框架能够更好地识别数组更改,提高性能,建议提供。如将数组反向时,如果没有提供键值生成器,则LazyForEach中的所有节点都将重建。 | - - -表2 IDataSource类型说明 - -| 名称 | 描述 | -| ---------------------------------------- | ----------- | -| totalCount(): number | 获取数据总数。 | -| getData(index: number): any | 获取索引对应的数据。 | -| registerDataChangeListener(listener:DataChangeListener): void | 注册改变数据的控制器。 | -| unregisterDataChangeListener(listener:DataChangeListener): void | 注销改变数据的控制器。 | - - -表3 DataChangeListener类型说明 - -| 名称 | 描述 | -| ---------------------------------------- | ---------------------- | -| onDataReloaded(): void | 重新加载所有数据。 | -| onDataAdded(index: number): void (deprecated) | 通知组件index的位置有数据添加。 | -| onDataMoved(from: number, to: number): void (deprecated) | 通知组件数据从from的位置移到to的位置。 | -| onDataDeleted(index: number): void (deprecated) | 通知组件index的位置有数据删除。 | -| onDataChanged(index: number): void (deprecated) | 通知组件index的位置有数据变化。 | -| onDataAdd(index: number): void 8+ | 通知组件index的位置有数据添加。 | -| onDataMove(from: number, to: number): void 8+ | 通知组件数据从from的位置移到to的位置。 | -| onDataDelete(index: number): void 8+ | 通知组件index的位置有数据删除。 | -| onDataChange(index: number): void 8+ | 通知组件index的位置有数据变化。 | - - -> **说明:** -> - 数据懒加载必须在容器组件内使用,且仅有List、Grid以及Swiper组件支持数据的懒加载(即只加载可视部分以及其前后少量数据用于缓冲),其他组件仍然是一次加载所有的数据; -> -> - LazyForEach在每次迭代中,必须且只允许创建一个子组件; -> -> - 生成的子组件必须允许在LazyForEach的父容器组件中; -> -> - 允许LazyForEach包含在if/else条件渲染语句中,不允许LazyForEach中出现if/else条件渲染语句; -> -> - 为了高性能渲染,通过DataChangeListener对象的onDataChange方法来更新UI时,仅itemGenerator中的UI描述的组件内使用了状态变量时,才会触发组件刷新; -> -> - 子项生成器函数的调用顺序不一定和数据源中的数据项相同,在开发过程中不要假设子项生成器和键值生成器函数是否执行以及执行顺序。如下示例可能无法正常工作: -> ```ts -> LazyForEach(dataSource, item => {Text(`${++counter}. item.label`)}) -> ``` -> -> 正确的示例如下: -> -> ```ts -> LazyForEach(dataSource, -> item => Text(`${item.i}. item.data.label`)), -> item => item.data.id.toString()) -> ``` - - -## 示例 - -```ts -// Basic implementation of IDataSource to handle data listener -class BasicDataSource implements IDataSource { - private listeners: DataChangeListener[] = [] - - public totalCount(): number { - return 0 - } - public getData(index: number): any { - return undefined - } - - registerDataChangeListener(listener: DataChangeListener): void { - if (this.listeners.indexOf(listener) < 0) { - console.info('add listener') - this.listeners.push(listener) - } - } - unregisterDataChangeListener(listener: DataChangeListener): void { - const pos = this.listeners.indexOf(listener); - if (pos >= 0) { - console.info('remove listener') - this.listeners.splice(pos, 1) - } - } - - notifyDataReload(): void { - this.listeners.forEach(listener => { - listener.onDataReloaded() - }) - } - notifyDataAdd(index: number): void { - this.listeners.forEach(listener => { - listener.onDataAdd(index) - }) - } - notifyDataChange(index: number): void { - this.listeners.forEach(listener => { - listener.onDataChange(index) - }) - } - notifyDataDelete(index: number): void { - this.listeners.forEach(listener => { - listener.onDataDelete(index) - }) - } - notifyDataMove(from: number, to: number): void { - this.listeners.forEach(listener => { - listener.onDataMove(from, to) - }) - } -} - -class MyDataSource extends BasicDataSource { - private dataArray: string[] = ['/path/image0', '/path/image1', '/path/image2', '/path/image3'] - - public totalCount(): number { - return this.dataArray.length - } - public getData(index: number): any { - return this.dataArray[index] - } - - public addData(index: number, data: string): void { - this.dataArray.splice(index, 0, data) - this.notifyDataAdd(index) - } - public pushData(data: string): void { - this.dataArray.push(data) - this.notifyDataAdd(this.dataArray.length - 1) - } -} - -@Entry -@Component -struct MyComponent { - private data: MyDataSource = new MyDataSource() - build() { - List({space: 3}) { - LazyForEach(this.data, (item: string) => { - ListItem() { - Row() { - Image(item).width("30%").height(50) - Text(item).fontSize(20).margin({left:10}) - }.margin({left: 10, right: 10}) - } - .onClick(()=>{ - this.data.pushData('/path/image' + this.data.totalCount()) - }) - }, item => item) - } - } -} -``` diff --git a/zh-cn/application-dev/ui/ts-syntactic-sugar.md b/zh-cn/application-dev/ui/ts-syntactic-sugar.md deleted file mode 100644 index e7369cb4ad..0000000000 --- a/zh-cn/application-dev/ui/ts-syntactic-sugar.md +++ /dev/null @@ -1,197 +0,0 @@ -# 语法糖 - -## 装饰器 - - -装饰器@Decorator不仅可以装饰类或结构体,还可以装饰类的属性。多个装饰器可以叠加到目标元素,定义在同一行上或者在多行上,推荐定义在多行上。 - - -如下示例为@Component和@State的使用,被 @Component装饰的元素具备了组件化的含义,使用@State装饰的变量具备了状态数据的含义。 - - -```ts -@Component -struct MyComponent { - @State count: number = 0 -} -``` - - -装饰器定义在同一行上的描述如下: - - -```ts -@Entry @Component struct MyComponent { -} -``` - - -但更推荐定义在多行上: - - -```ts -@Entry -@Component -struct MyComponent { -} -``` - - -### 支持的装饰器列表 - -| 装饰器 | 装饰内容 | 说明 | -| ------------- | ------------------------------------------------------------ | ------------------------------------------------------------ | -| @Component | struct | 结构体在装饰后具有基于组件的能力,需要实现build方法来更新UI。 | -| @Entry | struct | 组件被装饰后作为页面的入口,页面加载时将被渲染显示。 | -| @Preview | struct | 用@Preview装饰的自定义组件可以在DevEco Studio的预览器上进行预览,加载页面时,将创建并呈现@Preview装饰的自定义组件。 | -| @Builder | 方法 | 在@Builder装饰的方法里,通过声明式UI描述,可以在一个自定义组件内快速生成多个布局内容。 | -| @Extend | 方法 | @Extend装饰器将新的属性函数添加到内置组件上,通过@Extend装饰器可以快速定义并复用组件的自定义样式。 | -| @CustomDialog | struct | @CustomDialog装饰器用于装饰自定义弹窗。 | -| @State | 基本数据类型,类,数组 | 修饰的状态数据被修改时会触发组件的build方法进行UI界面更新。 | -| @Prop | 基本数据类型 | 修改后的状态数据用于在父组件和子组件之间建立单向数据依赖关系。修改父组件关联数据时,更新当前组件的UI。 | -| @Link | 基本数据类型,类,数组 | 父子组件之间的双向数据绑定,父组件的内部状态数据作为数据源,任何一方所做的修改都会反映给另一方。 | -| @Observed | 类 | @Observed应用于类,表示该类中的数据变更被UI页面管理。 | -| @ObjectLink | 被@Observed所装饰类的对象 | 装饰的状态数据被修改时,在父组件或者其他兄弟组件内与它关联的状态数据所在的组件都会更新UI。 | -| @Consume | 基本数据类型,类,数组 | @Consume装饰的变量在感知到@Provide装饰的变量更新后,会触发当前自定义组件的重新渲染。 | -| @Provide | 基本数据类型,类,数组 | @Provide作为数据的提供方,可以更新其子孙节点的数据,并触发页面渲染。 | -| @Watch | 被@State, @Prop, @Link, @ObjectLink, 
@Provide, @Consume, @StorageProp, @StorageLink中任意一个装饰的变量 | @Watch用于监听状态变量的变化,应用可以注册回调方法。 | - - -## 链式调用 - -允许开发者以“.”链式调用的方式配置UI结构及其属性、事件等。 - -```ts -Column() { - Image('1.jpg') - .alt('error.jpg') - .width(100) - .height(100) -}.padding(10) -``` - - -## struct对象 - -组件可以基于struct实现,组件不能有继承关系,struct可以比class更加快速的创建和销毁。 - -```ts -@Component -struct MyComponent { - @State data: string = '' - - build() { - } -} -``` - - -## 在实例化过程中省略"new" - -对于struct的实例化,可以省略new。 - -```ts -// 定义 -@Component -struct MyComponent { - build() { - } -} - -// 使用 -Column() { - MyComponent() -} - -// 等价于 -new Column() { - new MyComponent() -} -``` - - -## TS语言在生成器函数中的使用限制 - -TS语言的使用在生成器函数中存在一定的限制: - -- 表达式仅允许在字符串(${expression})、if条件、ForEach的参数和组件的参数中使用; - -- 这些表达式中的任何一个都不能导致任何应用程序状态变量(@State、@Link、@Prop)的改变,否则会导致未定义和潜在不稳定的框架行为; - -- 生成器函数内部不能有局部变量。 - -上述限制都不适用于事件处理函数(例如onClick)的匿名函数实现。 - -非法示例: - -```ts -build() { - let a: number = 1 // invalid: variable declaration not allowed - Column() { - Text(`Hello ${this.myName.toUpperCase()}`) // ok. - ForEach(this.arr.reverse(), ..., ...) // invalid: Array.reverse modifies the @State array variable in place - } - buildSpecial() // invalid: no function calls - Text(this.calcTextValue()) // this function call is ok. -} -``` - - -## 变量双向绑定 - -$$支持变量双向绑定,支持简单变量、@State、@Link、@Prop等类型。 - -当前$$仅支持[bindPopup](../reference/arkui-ts/ts-universal-attributes-popup.md)属性的show参数和@State变量之间的渲染,以及Radio组件的checked属性和Refresh组件的refreshing参数。 - - -```ts -// xxx.ets -@Entry -@Component -struct bindPopup { - @State customPopup: boolean = false - build() { - Column() { - Button(){ - Text('Popup') - } - .onClick(()=>{ - this.customPopup = !this.customPopup - }) - .bindPopup( - $$this.customPopup, { - message: "showPopup" - } - ) - } - } -} -``` - -## 状态变量多种数据类型声明使用限制 - -@State、@Provide、 @Link和@Consume四种状态变量的多种数据类型只能同时由简单数据类型或引用数据类型其中一种构成。 - -示例: - -```ts -@Entry -@Component -struct Index { - //错误写法: @State message: string | Resource = 'Hello World' - @State message: string = 'Hello World' - - build() { - Row() { - Column() { - Text(`${ this.message }`) - .fontSize(50) - .fontWeight(FontWeight.Bold) - } - .width('100%') - } - .height('100%') - } -} -``` - diff --git a/zh-cn/application-dev/ui/ts-syntax-intro.md b/zh-cn/application-dev/ui/ts-syntax-intro.md deleted file mode 100644 index 129f1d5459..0000000000 --- a/zh-cn/application-dev/ui/ts-syntax-intro.md +++ /dev/null @@ -1,14 +0,0 @@ -# 描述规范使用说明 - -本节定义了基于TypeScript (TS)扩展的声明式开发范式的核心机制和功能,讲述了声明式UI描述、组件化机制、UI状态管理、渲染控制语法和语法糖。 - - -本节为应用开发人员开发UI提供了参考规范。有关组件的详细信息,请参考组件说明。 - - -> **说明:** -> - 本节所有示例都以TS语言为例,请遵循相应语言的语法要求。 -> -> - 示例中的Image、Button、Text、Divider、Row和Column等组件是UI框架中预置的组件控件,仅用于解释UI描述规范。 -> -> - 通用属性方法和事件方法通常支持所有组件,而组件内的属性方法和事件方法仅对当前组件有效。 diff --git a/zh-cn/application-dev/ui/ts-ui-state-mgmt-concepts.md b/zh-cn/application-dev/ui/ts-ui-state-mgmt-concepts.md deleted file mode 100644 index 4ae1fd27f0..0000000000 --- a/zh-cn/application-dev/ui/ts-ui-state-mgmt-concepts.md +++ /dev/null @@ -1,29 +0,0 @@ -# 基本概念 - -在声明式UI编程范式中,UI是应用程序状态的函数,开发人员通过修改当前应用程序状态来更新相应的UI界面。如下图所示,开发框架提供了多种应用程序状态管理的能力。 - - -![](figures/CoreSpec_figures_state-mgmt-overview.png) - - -## 状态变量装饰器 - -- @State:组件拥有的状态属性,当@State装饰的变量更改时,组件会重新渲染更新UI。 - -- @Link:组件依赖于其父组件拥有的某些状态属性,当任何一个组件中的数据更新时,另一个组件的状态都会更新,父子组件重新渲染。 - -- @Prop:原理类似@Link,但是子组件所做的更改不会同步到父组件上,属于单向传递。 -> **说明:** -> 状态变量名称不能使用id,如@Prop id:number 。 - - -## 应用程序状态数据 - -AppStorage是整个UI应用程序状态的中心“数据库”,UI框架会针对应用程序创建单例AppStorage对象,并提供相应的装饰器和接口供应用程序使用。 - -- @StorageLink:@StorageLink(name)的原理类似于@Consume(name),不同的是,该给定名称的链接对象是从AppStorage中获得的,在UI组件和AppStorage之间建立双向绑定同步数据。 - -- @StorageProp:@StorageProp(name)将UI组件属性与AppStorage进行单向同步,AppStorage中值的更改会更新组件中的属性,但UI组件无法更改AppStorage中的属性值。 - -- AppStorage还提供用于业务逻辑实现的API,用于添加、读取、修改和删除应用程序的状态属性,此API所做的更改会导致修改的状态数据同步到UI组件上进行UI更新。 - diff --git a/zh-cn/application-dev/ui/ui-ts-local-storage.md b/zh-cn/application-dev/ui/ui-ts-local-storage.md deleted file mode 100644 index 5330f574b0..0000000000 --- a/zh-cn/application-dev/ui/ui-ts-local-storage.md +++ /dev/null @@ -1,359 +0,0 @@ -# Ability数据存储 - -> **说明:** 该组件从API version 9开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。 - -LocalStorage是应用程序中的存储单元,生命周期跟随其关联的Ability。LocalStorage为应用程序范围内的可变状态属性和非可变状态属性提供存储,可变状态属性和非可变状态属性是构建应用程序UI的一部分,如一个Ability的UI。 - -应用层:一个应用程序可以创建多个LocalStorage实例,应用程序的每一个Ability对应一个LocalStorage实例。 - -Ability: 一个应用程序可以拥有多个Ability,一个Ability中的所有子组件最多可以分配一个LocalStorage实例。并且,Ability中的所有子组件都将继承对此LocalStorage实例存储对象的访问权。 - -一个组件最多可以访问一个LocalStorage实例,一个LocalStorage对象可以分配给多个组件。 - -## @LocalStorageLink装饰器 - -组件通过使用@LocalStorageLink(key)装饰的状态变量,key值为LocalStorage中的属性键值,与LocalStorage建立双向数据绑定。当创建包含@LocalStorageLink的状态变量的组件时,该状态变量的值将会使用LocalStorage中的值进行初始化。如果LocalStorage中未定义初始值,将使用@LocalStorageLink定义的初始值。在UI组件中对@LocalStorageLink的状态变量所做的更改将同步到LocalStorage中,并从LocalStorage同步到Ability下的组件中。 - -## @LocalStorageProp装饰器 - -组件通过使用LocalStorageProp(key)装饰的状态变量,key值为LocalStorage中的属性键值,与LocalStorage建立单向数据绑定。当创建包含@LocalStorageProp的状态变量的组件时,该状态变量的值将使用LocalStorage中的值进行初始化。LocalStorage中的属性值的更改会导致当前Ability下的所有UI组件进行状态更新。 - -> **说明:** 创建LocalStorage实例时如未定义初始值,可以使用组件内@LocalStorageLink和@LocalStorageProp的初始值。如果定义时给定了初始值,那么不会再使用@LocalStorageLink和@LocalStorageProp的初始值。 - -## LocalStorage - -### constructor - -constructor(initializingProperties?: Object) - -创建一个新的LocalStorage对象,并进行初始化。 - -**参数:** - -| 参数名 | 类型 | 必填 | 默认值 | 参数描述 | -| ---------------------- | ------ | :--: | ---- | ---------------------------------------- | -| initializingProperties | Object | 否 | - | object.keys(obj)返回的所有对象属性及其值都将添加到LocalStorage。 | - - - -### GetShared - -static GetShared(): LocalStorage - -获取当前的共享的LocalStorage对象。 - -此接口仅可在Stage模型下使用。 - -**返回值:** - -| 类型 | 描述 | -| ----------------------------- | ----------------- | -| [LocalStorage](#localstorage) | 返回LocalStorage对象。 | - - - -### has - -has(propName: string): boolean - -判断属性值是否存在。 - -**参数:** - -| 参数名 | 类型 | 必填 | 默认值 | 参数描述 | -| -------- | ------ | :--: | ---- | ------- | -| propName | string | 是 | - | 属性的属性值。 | - -**返回值:** - -| 类型 | 描述 | -| ------- | ------------- | -| boolean | 返回属性的属性值是否存在。 | - - - -### get - -get\(propName: string): T - -获取对应key值的value。 - -**参数:** - -| 参数名 | 类型 | 必填 | 默认值 | 参数描述 | -| -------- | ------ | :--: | ---- | ----------- | -| propName | string | 是 | - | 要获取对应的key值。 | - -**返回值:** - -| 类型 | 描述 | -| -------------- | ---------------------------------------- | -| T \| undefined | 当keyvalue存在时,返回keyvalue值。不存在返回undefined。 | - - - -### set - -set\(propName: string, newValue: T): boolean - -存储对象值。 - -**参数:** - -| 参数名 | 类型 | 必填 | 默认值 | 参数描述 | -| -------- | ------ | :--: | ---- | ----------- | -| propName | string | 是 | - | 要设置的key值。 | -| newValue | T | 是 | - | 要设置的value值。 | - -**返回值:** - -| 类型 | 描述 | -| ------- | ----------------------------------- | -| boolean | 如果存在key值,设置value值并返回true,否则返回false。 | - - - -### setOrCreate - -setOrCreate\(propName: string, newValue: T): boolean - -创建或更新setOrCreate内部的值。 - -**参数:** - -| 参数名 | 类型 | 必填 | 默认值 | 参数描述 | -| -------- | ------ | :--: | ---- | -------------- | -| propName | string | 是 | - | 要更新或者创建的key值。 | -| newValue | T | 是 | - | 要更新或创建的value值。 | - -**返回值:** - -| 类型 | 描述 | -| ------- | ---------------------------------------- | -| boolean | 如果已存在与给定键名字相同的属性,更新其值且返回true。如果不存在具有给定名称的属性,在LocalStorage中创建具有给定默认值的新属性,默认值必须是T类型。不允许undefined 或 null 返回true。 | - - - -### link - -link\(propName: string): T - -与localStorage双向数据绑定。 - -**参数:** - -| 参数名 | 类型 | 必填 | 默认值 | 参数描述 | -| -------- | ------ | :--: | ---- | ----------- | -| propName | string | 是 | - | 要双向绑定的属性名称。 | - -**返回值:** - -| 类型 | 描述 | -| ---- | ---------------------------------------- | -| T | 如果存在具有给定键的属性,返回到此属性的双向绑定,该双向绑定意味着变量或者组件对数据的更改将同步到LocalStorage,然后通过LocalStorage实例同步到任何变量或组件。如果不存在给定键的属性,返回undefined。 | - - - -### setAndLink - -setAndLink\(propName: string, defaultValue: T): T - -与link接口类似,双向数据绑定localStorage。 - -**参数:** - -| 参数名 | 类型 | 必填 | 默认值 | 参数描述 | -| ------------ | ------ | :--: | ---- | ----------- | -| propName | string | 是 | - | 要进行创建的key值。 | -| defaultValue | T | 是 | - | 要进行设置的默认值。 | - -**返回值:** - -| 类型 | 描述 | -| ------------------------------------ | ------------------------------------------------------------ | -| [@Link](ts-component-states-link.md) | 与Link接口类似,如果当前的key保存于LocalStorage,返回该key值对应的value值。如果该key值未被创建,则创建一个对应的defaultValue的Link返回。 | - - - -### prop - -prop\(propName: string): T - -单向属性绑定的一种。更新组件的状态。 - -**参数:** - -| 参数名 | 类型 | 必填 | 默认值 | 参数描述 | -| -------- | ------ | :--: | ---- | ------------- | -| propName | string | 是 | - | 要单向数据绑定的key值。 | - -**返回值:** - -| 类型 | 描述 | -| ------------------------------------ | ---------------------------------------- | -| [@Prop](ts-component-states-prop.md) | 如果存在具有给定键的属性,返回此属性的单向数据绑定。该单向绑定意味着只能通过LocalStorage将属性的更改同步到变量或组件。该方法返回的变量为不可变变量,适用于可变和不可变的状态变量。如果此键的属性不存在则返回undefined。 | - - - -### setAndProp - -setAndProp\(propName: string, defaultValue: T): T - -与Prop接口类似,存在localStorage的单向数据绑定prop值。 - -**参数:** - -| 参数名 | 类型 | 必填 | 默认值 | 参数描述 | -| ------------ | ------ | :--: | ---- | --------------- | -| propName | string | 是 | - | 要保存的的键值对中的key值。 | -| defaultValue | T | 是 | - | 创建的默认值。 | - -**返回值:** - -| 类型 | 描述 | -| ------------------------------------ | ---------------------------------------- | -| [@Prop](ts-component-states-prop.md) | 如果当前的key保存与LocalStorage,返回该key值对应的value值。如果该key值未被创建,则创建一个对应的defaultValue的Prop返回。 | - - - -### delete - -delete(propName: string): boolean - -删除key指定的键值对。 - -**参数:** - -| 参数名 | 类型 | 必填 | 默认值 | 参数描述 | -| -------- | ------ | :--: | ---- | ------------ | -| propName | string | 是 | - | 要删除的属性的key值。 | - -**返回值:** - -| 类型 | 描述 | -| ------- | ---------------------------------------- | -| boolean | 删除key指定的键值对,如果存在且删除成功返回true,不存在或删除失败返回false。 | - - - -### keys - -keys(): IterableIterator\ - -查找所有键。 - -**返回值:** - -| 类型 | 描述 | -| -------------- | -------------- | -| array\ | 返回包含所有键的字符串数组。 | - - - -### size - -size(): number - -存在的键值对的个数。 - -**返回值:** - -| 类型 | 描述 | -| ------ | --------- | -| number | 返回键值对的数量。 | - - - -### Clear - -clear(): boolean - -删除所有的属性。 - -**返回值:** - -| 类型 | 描述 | -| ------- | --------------------------------- | -| boolean | 删除所有的属性,如果当前有状态变量依旧引用此属性,返回false。 | - -### 示例1(在一个Ability创建的LocalStorage) - -LocalStorage通过loadContent接口加载,接口详见[loadContent](../reference/apis/js-apis-window.md#loadcontent9-1)。 - -```ts -import Ability from '@ohos.application.Ability' -export default class MainAbility extends Ability { - storage : LocalStorage - onCreate() { - this.storage = new LocalStorage(); - this.storage.setOrCreate("storageSimpleProp",121); - console.log("[Demo MainAbility onCreate]"); - } - onDestroy() { - console.log("[Demo MainAbility onDestroy]") - } - onWindowStageCreate(windowStage) { - // storage作为参数传递给loadContent接口。 - windowStage.loadContent("pages/index",this.storage) - } - onWindowStageDestroy() { - console.log("[Demo] MainAbility onWindoeStageDestroy") - } - onForeground() { - console.log("[Demo] MainAbility onForeground") - } - onBackground() { - console.log("[Demo] MainAbility onBackground") - } -} -``` - -@Component组件获取数据 - -```ts -let storage = LocalStorage.GetShared() -@Entry(storage) -@Component -struct LocalStorageComponent { - @LocalStorageLink("storageSimpleProp") simpleVarName: number = 0 - build() { - Column(){ - Text(this.simpleVarName.toString()) - .onClick(()=>{ - this.simpleVarName +=1; - }) - Text(JSON.stringify(this.simpleVarName)) - .fontSize(50) - } - .height(500) - } -} -``` - -### 示例2(在Entry页面定义LocalStorage) - -```ts -let storage = new LocalStorage({"PropA":47}); -@Entry(storage) -@Component -struct ComA { - @LocalStorageLink("PropA") storLink: number = 1; - build() { - Column() { - Text(`Parent from LocalStorage ${ this.storLink }`) - .onClick(()=>this.storLink+=1) - Child() - } - } -} - - -@Component -struct Child{ - @LocalStorageLink("PropA") storLink: number = 1; - build() { - Text(`Parent from LocalStorage ${ this.storLink }`) - .onClick(()=>this.storLink+=1) - } -} -``` \ No newline at end of file -- GitLab