From 513f419c7c0f4cf3ae4791bfeb5d85517b4c2d06 Mon Sep 17 00:00:00 2001 From: wujinhui Date: Tue, 20 May 2025 16:43:27 +0800 Subject: [PATCH] =?UTF-8?q?common=20modifier=20=E6=96=87=E6=A1=A3=E8=A1=A5?= =?UTF-8?q?=E5=85=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: wujinhui --- .../js-apis-arkui-CommonModifier.md | 62 ++++++++++++++++++ .../reference/figures/commonModifier.png | Bin 0 -> 1551 bytes zh-cn/application-dev/website.md | 1 + 3 files changed, 63 insertions(+) create mode 100644 zh-cn/application-dev/reference/apis-arkui/js-apis-arkui-CommonModifier.md create mode 100644 zh-cn/application-dev/reference/figures/commonModifier.png diff --git a/zh-cn/application-dev/reference/apis-arkui/js-apis-arkui-CommonModifier.md b/zh-cn/application-dev/reference/apis-arkui/js-apis-arkui-CommonModifier.md new file mode 100644 index 00000000000..50b6eb715e5 --- /dev/null +++ b/zh-cn/application-dev/reference/apis-arkui/js-apis-arkui-CommonModifier.md @@ -0,0 +1,62 @@ +# CommonModifier + + 继承自[AttributeModifier](./arkui-ts/ts-universal-attributes-attribute-modifier.md#attributemodifiert),提供了一系列方法可以直接设置组件的属性,每个方法都会返回修饰器本身,从而支持链式调用。 + + +## 导入模块 + +```ts +import { CommonModifier } from '@kit.ArkUI' +``` + +> **使用说明:** +> +> 1. 由于与属性方法同时设置或者在CommonModifier中实现applyNormalAttribute等方法时,涉及到与状态管理更新机制同时使用,易出现混淆,因此不建议在同一组件上同时用两种方法设置相同属性。 +> +> 2. 当与属性方法同时设置时,属性生效的原则为:后设置的生效。 +> 若先进行属性直通更新,后通过状态管理机制更新属性方法,则后更新的属性方法生效; +> 若先通过状态管理机制更新属性方法,后进行属性直通更新,则属性直通更新生效。 + +### applyNormalAttribute +applyNormalAttribute?(instance: CommonAttribute): void + +定义正常态更新属性函数。 + +**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 + +**系统能力:** SystemCapability.ArkUI.ArkUI.Full + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| ------ | ------ | ---- | -------------------------------------- | +| instance | CommonAttribute | 是 | 组件的通用属性类,用于设置通用属性。| + +**示例:** + +通过链式调用直接设置组件属性。 + +```ts +import { CommonModifier } from '@kit.ArkUI' + +@Entry +@Component +struct Index { + testCommonModifier: CommonModifier = new CommonModifier() + .width(100) + .height(100) + .backgroundColor(Color.Red) + + build() { + Column() { + Column() + .attributeModifier(this.testCommonModifier) + } + .height('100%') + .width('100%') + } +} + +``` + +![commonModifier](../figures/commonModifier.png) \ No newline at end of file diff --git a/zh-cn/application-dev/reference/figures/commonModifier.png b/zh-cn/application-dev/reference/figures/commonModifier.png new file mode 100644 index 0000000000000000000000000000000000000000..7c40553cfc14d34efe1bdcf974109307f0a3743a GIT binary patch literal 1551 zcmeAS@N?(olHy`uVBq!ia0vp^*MN8i2NRGKzub_@z`%OV)5S5Qg7NLGz;5YKiDMr< z@2;&o8FypRgK$B?5SI(<7l=27-R|D|*-hkN)#IZ|8ehD0Z>L>OIXCC?DV5u)Wj9;d z&m4ZD``>_f_LGM*Eua5Yo!we?uvd0QDf_O-^XE?9Y-~{ANV~_#an6RpkKd8!%pPWe zIh71^jIp4KBPrpTY{P>y%n!Z@964~tn&IF~_5&{! zI~r$}Gc+0VH(YiWU^ae#Kv6hHSE=m(vFg0*$;vzMu5-@MLxVcYnW}tKPq-`u+Cb`Nclv53c{_pZEXA=S@>3&Y257wl;qFwt>^F zQtacShu?EI-q3ls?dT%CcLhG>3v~MC+5h?VensH4$IBCBg}7{9{NEA(THy5L{MXWV zKkvSKGdec9Am(o4I_vsBPqmUdN>>X`ecx1F&%Z9I^3z?7_0`3tB_X>XUy^9 zn~k5{?|;!;kaCXp>&gg$P5c*ftCfAr(fW8(|%;d;nRm*u7sPn)P$x&;DZJ-_V=)QI8^wamtm(Q>H zc%6N|UG4wJ_V#~zl6NuJ*L?YT^X26Te%(cGF2;R_!|(oF^*_D1`v%Y2FR2-ajeezX z%v<|>#yf{A`__8BJ-y+vxzU+&>zJm;yQ?~GdF7K>+b8*zfa3A)4!VgX4~{- zC-0u$u3Bze_3zk{ttmFiYin1hx=-*w_;(*;^cBTx&Rg>So! zWsGOv#@K(QS}S!QJyM5wI`H4D6nT;dRl!-J-fn;`nHqd3mdKI;Vst08GKL4gdfE literal 0 HcmV?d00001 diff --git a/zh-cn/application-dev/website.md b/zh-cn/application-dev/website.md index 8d24a80d134..88277ea26b9 100644 --- a/zh-cn/application-dev/website.md +++ b/zh-cn/application-dev/website.md @@ -2392,6 +2392,7 @@ - [NodeController](reference/apis-arkui/js-apis-arkui-nodeController.md) - [RenderNode](reference/apis-arkui/js-apis-arkui-renderNode.md) - [AttributeUpdater](reference/apis-arkui/js-apis-arkui-AttributeUpdater.md) + - [CommonModifier](reference/apis-arkui/js-apis-arkui-CommonModifier.md) - [Content](reference/apis-arkui/js-apis-arkui-Content.md) - [NodeContent](reference/apis-arkui/js-apis-arkui-NodeContent.md) - 窗口管理 -- Gitee