文档管理中心
您当前正在浏览HarmonyOS最新文档,覆盖已发布的所有API版本,可在API参考中筛选您使用的API版本。详细的版本配套关系请参考版本说明
API参考应用框架ArkUI(方舟UI框架)ArkTS组件自定义组件自定义组件的生命周期

自定义组件的生命周期

Phone12+PC/2in113+Tablet12+TV19+Wearable18+

自定义组件的生命周期回调函数用于通知用户该自定义组件的生命周期,这些回调函数是私有的,在运行时由开发框架在特定的时间进行调用,不能从应用中主动调用。通过这些回调,开发者可以在组件创建时初始化数据和状态变量,在组件销毁时释放资源,在页面显示和隐藏时更新页面状态、刷新数据或暂停恢复任务,在组件复用时传递参数与更新状态等,从而实现组件的精细化管理。不要在多个窗口复用同一个自定义组件节点,其生命周期可能会紊乱。

说明
  • 本模块首批接口从API version 7开始支持,后续版本的新增接口,采用上角标单独标记接口的起始版本。
  • 允许在生命周期函数中使用Promise和异步回调函数,比如网络资源获取、定时器设置等。

build

Phone12+PC/2in113+Tablet12+TV19+Wearable18+

build(): void

build()函数用于定义自定义组件的声明式UI描述,自定义组件必须定义build()函数。

卡片能力: 从API version 9开始,该接口支持在ArkTS卡片中使用。

元服务API: 从API version 11开始,该接口支持在元服务中使用。

系统能力: SystemCapability.ArkUI.ArkUI.Full

aboutToAppear

Phone12+PC/2in113+Tablet12+TV19+Wearable18+

aboutToAppear?(): void

aboutToAppear函数在创建自定义组件的新实例后,在其build()函数执行前调用。允许在aboutToAppear函数中改变状态变量,更改将在后续执行build()函数中生效。实现自定义布局的自定义组件的aboutToAppear生命周期在布局过程中触发。具体使用说明,详见自定义组件生命周期指南

说明

卡片能力: 从API version 9开始,该接口支持在ArkTS卡片中使用。

元服务API: 从API version 11开始,该接口支持在元服务中使用。

系统能力: SystemCapability.ArkUI.ArkUI.Full

onDidBuild12+

Phone12+PC/2in113+Tablet12+TV19+Wearable18+

onDidBuild?(): void

onDidBuild函数在自定义组件的build()函数执行后调用,开发者可以在这个阶段实现埋点数据上报等不影响实际UI的功能。具体使用说明,详见自定义组件生命周期指南

元服务API: 从API version 12开始,该接口支持在元服务中使用。

模型约束: 此接口仅可在Stage模型下使用。

系统能力: SystemCapability.ArkUI.ArkUI.Full

aboutToDisappear

Phone12+PC/2in113+Tablet12+TV19+Wearable18+

aboutToDisappear?(): void

aboutToDisappear函数在自定义组件析构销毁时执行。不允许在aboutToDisappear函数中改变状态变量,特别是@Link变量的修改可能会导致应用行为不稳定。具体使用说明,详见自定义组件生命周期指南。不建议在aboutToDisappear函数调用后再触发例如自定义弹窗的创建等逻辑,这可能会因为组件树信息丢失导致应用行为异常,例如@Consume找不到对应的@Provide、弹窗内白屏不显示组件等。

说明

在需要频繁创建和销毁组件的场景中,将会频繁调用该回调函数。最佳实践请参考主线程耗时操作优化指导-组件生命周期回调

卡片能力: 从API version 9开始,该接口支持在ArkTS卡片中使用。

元服务API: 从API version 11开始,该接口支持在元服务中使用。

系统能力: SystemCapability.ArkUI.ArkUI.Full

onPageShow

Phone12+PC/2in113+Tablet12+TV19+Wearable18+

onPageShow?(): void

router路由页面(即@Entry装饰的自定义组件)每次显示时触发一次,包括路由跳转、应用进入前台等场景。

元服务API: 从API version 11开始,该接口支持在元服务中使用。

系统能力: SystemCapability.ArkUI.ArkUI.Full

onPageHide

Phone12+PC/2in113+Tablet12+TV19+Wearable18+

onPageHide?(): void

router路由页面(即@Entry装饰的自定义组件)每次隐藏时触发一次,包括路由跳转、应用进入后台等场景。

说明

在该回调函数内,建议避免执行高耗时操作阻塞主线程造成卡顿。对于高耗时操作例如相机资源释放,推荐使用异步方案替代。最佳实践请参考优化应用时延问题-延迟执行资源释放操作

元服务API: 从API version 11开始,该接口支持在元服务中使用。

系统能力: SystemCapability.ArkUI.ArkUI.Full

onBackPress

Phone12+PC/2in113+Tablet12+TV19+Wearable18+

onBackPress?(): void | boolean

在router路由页面(即@Entry装饰的自定义组件)生效,当用户点击返回按钮时触发。返回true表示页面自己处理返回逻辑,不进行页面路由;返回false表示使用默认的路由返回逻辑,不设置返回值按照false处理。

元服务API: 从API version 11开始,该接口支持在元服务中使用。

系统能力: SystemCapability.ArkUI.ArkUI.Full

返回值:

展开
类型 说明
void | boolean 返回按钮动作。返回true表示由页面自行处理返回逻辑,不进行页面路由;返回false表示使用默认的路由返回逻辑,不设置返回值时按false处理。
收起
自动换行
深色代码主题
复制
  1. // xxx.ets
  2. @Entry
  3. @Component
  4. struct IndexComponent {
  5. @State textColor: Color = Color.Black;
  6. onPageShow() {
  7. // onPageShow触发时将textColor置为Blue
  8. this.textColor = Color.Blue;
  9. console.info('IndexComponent onPageShow');
  10. }
  11. onPageHide() {
  12. // onPageHide触发时将textColor置为Transparent
  13. this.textColor = Color.Transparent;
  14. console.info('IndexComponent onPageHide');
  15. }
  16. onBackPress() {
  17. // 点击返回键触发onBackPress,将textColor置为Red
  18. this.textColor = Color.Red;
  19. console.info('IndexComponent onBackPress');
  20. }
  21. build() {
  22. Column() {
  23. Text('Hello World')
  24. .fontColor(this.textColor)
  25. .fontSize(30)
  26. .margin(30)
  27. }.width('100%')
  28. }
  29. }

onNewParam19+

Phone19+PC/2in119+Tablet19+TV19+Wearable19+

onNewParam?(param: ESObject): void

该回调仅生效于由@Entry装饰的、作为router路由页面存在的自定义组件。当之前存在于路由栈中的页面,通过单实例模式RouterMode移动到栈顶时触发该回调。

元服务API: 从API version 19开始,该接口支持在元服务中使用。

模型约束: 此接口仅可在Stage模型下使用。

系统能力: SystemCapability.ArkUI.ArkUI.Full

参数:

展开
参数名 类型 必填 说明
param ESObject 路由跳转时传递到目标页面的数据。
收起
自动换行
深色代码主题
复制
  1. // pages/Index.ets
  2. import { router } from '@kit.ArkUI';
  3. export class RouterParam {
  4. msg: string = '__NA__';
  5. constructor(msg: string) {
  6. this.msg = msg;
  7. }
  8. }
  9. @Entry
  10. @Component
  11. struct Index {
  12. aboutToAppear(): void {
  13. console.info('onNewParam', 'Index aboutToAppear');
  14. }
  15. onNewParam(param: ESObject) {
  16. console.info('onNewParam', 'Index onNewParam, param: ' + JSON.stringify(param));
  17. }
  18. build() {
  19. Column() {
  20. Button('push pageOne Standard')
  21. .margin(10)
  22. .onClick(() => {
  23. this.getUIContext().getRouter().pushUrl({
  24. url: 'pages/PageOne',
  25. params: new RouterParam('push pageOne Standard')
  26. }, router.RouterMode.Standard);
  27. })
  28. // Single模式下若PageOne已在栈中,会复用并触发PageOne.onNewParam
  29. Button('push pageOne Single')
  30. .margin(10)
  31. .onClick(() => {
  32. this.getUIContext().getRouter().pushUrl({
  33. url: 'pages/PageOne',
  34. params: new RouterParam('push pageOne Single')
  35. }, router.RouterMode.Single);
  36. })
  37. }
  38. .width('100%')
  39. .height('100%')
  40. }
  41. }
收起
自动换行
深色代码主题
复制
  1. // pages/PageOne.ets
  2. import { router } from '@kit.ArkUI';
  3. import { RouterParam } from './Index';
  4. @Entry
  5. @Component
  6. struct PageOne {
  7. aboutToAppear(): void {
  8. console.info('onNewParam', 'PageOne aboutToAppear');
  9. }
  10. onNewParam(param: ESObject) {
  11. console.info('onNewParam', 'PageOne onNewParam, param: ' + JSON.stringify(param));
  12. }
  13. build() {
  14. Column() {
  15. Button('push Index Standard')
  16. .margin(10)
  17. .onClick(() => {
  18. this.getUIContext().getRouter().pushUrl({
  19. url: 'pages/Index',
  20. params: new RouterParam('push Index Standard')
  21. }, router.RouterMode.Standard);
  22. })
  23. // Single模式下若Index已在栈中,会复用并触发Index.onNewParam
  24. Button('push Index Single')
  25. .margin(10)
  26. .onClick(() => {
  27. this.getUIContext().getRouter().pushUrl({
  28. url: 'pages/Index',
  29. params: new RouterParam('push Index Single')
  30. }, router.RouterMode.Single);
  31. })
  32. }
  33. .width('100%')
  34. .height('100%')
  35. }
  36. }

aboutToReuse10+

Phone12+PC/2in113+Tablet12+TV19+Wearable18+

aboutToReuse?(params: Record<string, Object | undefined | null>): void

当一个可复用的自定义组件从复用缓存中重新加入到节点树时,触发aboutToReuse生命周期回调,并将组件的构造参数传递给该回调。

说明

元服务API: 从API version 11开始,该接口支持在元服务中使用。

模型约束: 此接口仅可在Stage模型下使用。

系统能力: SystemCapability.ArkUI.ArkUI.Full

参数:

展开
参数名 类型 必填 说明
params Record<string, Object | undefined | null> 自定义组件的构造参数。其中key为复用时外部传入的组件成员变量名,value为复用时外部传入的对应参数值。
收起
自动换行
深色代码主题
复制
  1. // xxx.ets
  2. export class Message {
  3. value: string | undefined;
  4. constructor(value: string) {
  5. this.value = value;
  6. }
  7. }
  8. @Entry
  9. @Component
  10. struct Index {
  11. @State isShown: boolean = true;
  12. build() {
  13. Column() {
  14. // 点击Button切换isShown,控制Child从组件树移除或重新加入
  15. Button('Hello World')
  16. .fontSize(50)
  17. .fontWeight(FontWeight.Bold)
  18. .onClick(() => {
  19. this.isShown = !this.isShown;
  20. })
  21. if (this.isShown) {
  22. Child({ message: new Message('Child') })
  23. }
  24. }
  25. .height('100%')
  26. .width('100%')
  27. }
  28. }
  29. @Reusable
  30. @Component
  31. struct Child {
  32. @State message: Message = new Message('AboutToReuse');
  33. aboutToReuse(params: Record<string, ESObject>) {
  34. console.info('Reuse Child');
  35. this.message = params.message as Message;
  36. }
  37. build() {
  38. Column() {
  39. Text(this.message.value)
  40. .fontSize(20)
  41. }
  42. .borderWidth(2)
  43. .height(100)
  44. }
  45. }

aboutToReuse18+

Phone18+PC/2in118+Tablet18+TV19+Wearable18+

aboutToReuse?(): void

当一个状态管理V2的可复用自定义组件从复用缓存中重新加入到节点树时,触发aboutToReuse生命周期回调。在频繁调用场景下,应避免在其中执行耗时操作,否则可能导致丢帧卡顿。

详细内容请参考@ReusableV2

元服务API: 从API version 18开始,该接口支持在元服务中使用。

模型约束: 此接口仅可在Stage模型下使用。

系统能力: SystemCapability.ArkUI.ArkUI.Full

收起
自动换行
深色代码主题
复制
  1. @Entry
  2. @ComponentV2
  3. struct Index {
  4. @Local condition: boolean = true;
  5. build() {
  6. Column() {
  7. Button('回收/复用').onClick(() => { this.condition = !this.condition; }) // 点击切换回收/复用状态
  8. if (this.condition) {
  9. ReusableV2Component()
  10. }
  11. }
  12. }
  13. }
  14. @ReusableV2
  15. @ComponentV2
  16. struct ReusableV2Component {
  17. @Local message: string = 'Hello World';
  18. aboutToReuse() {
  19. console.info('ReusableV2Component aboutToReuse'); // 复用时被调用
  20. }
  21. build() {
  22. Column() {
  23. Text(this.message)
  24. }
  25. }
  26. }

aboutToRecycle10+

Phone12+PC/2in113+Tablet12+TV19+Wearable18+

aboutToRecycle?(): void

组件的生命周期回调,在可复用组件从节点树上被加入到复用缓存之前调用。当该组件后续从复用缓存中被重新复用时,将触发aboutToReuse生命周期回调。在频繁调用场景下,应避免在其中执行耗时操作,否则可能导致丢帧卡顿。

元服务API: 从API version 11开始,该接口支持在元服务中使用。

模型约束: 此接口仅可在Stage模型下使用。

系统能力: SystemCapability.ArkUI.ArkUI.Full

收起
自动换行
深色代码主题
复制
  1. // xxx.ets
  2. export class Message {
  3. value: string | undefined;
  4. constructor(value: string) {
  5. this.value = value;
  6. }
  7. }
  8. @Entry
  9. @Component
  10. struct Index {
  11. @State isShown: boolean = true;
  12. build() {
  13. Column() {
  14. Button('Hello World')
  15. .fontSize(50)
  16. .fontWeight(FontWeight.Bold)
  17. .onClick(() => {
  18. this.isShown = !this.isShown;
  19. })
  20. if (this.isShown) {
  21. Child({ message: new Message('Child') })
  22. }
  23. }
  24. .height('100%')
  25. .width('100%')
  26. }
  27. }
  28. @Reusable
  29. @Component
  30. struct Child {
  31. @State message: Message = new Message('AboutToReuse');
  32. aboutToReuse(params: Record<string, ESObject>) {
  33. console.info('Reuse Child');
  34. this.message = params.message as Message;
  35. }
  36. aboutToRecycle() {
  37. // 这里可以释放比较占内存的内容或其他非必要资源引用,避免一直占用内存,引发内存泄漏
  38. console.info('Recycle Child,child进入复用池中');
  39. }
  40. build() {
  41. Column() {
  42. Text(this.message.value)
  43. .fontSize(20)
  44. }
  45. .borderWidth(2)
  46. .height(100)
  47. }
  48. }

onWillApplyTheme12+

Phone12+PC/2in113+Tablet12+TV19+Wearable18+

onWillApplyTheme?(theme: Theme): void

onWillApplyTheme函数用于获取当前组件上下文的Theme对象,在创建自定义组件的新实例后、其build()函数执行之前调用。允许在onWillApplyTheme函数中改变状态变量,更改将在后续执行build()函数中生效。

说明

从API version 18开始,该接口支持在状态管理V2组件中使用。

元服务API: 从API version 12开始,该接口支持在元服务中使用。

模型约束: 此接口仅可在Stage模型下使用。

系统能力: SystemCapability.ArkUI.ArkUI.Full

参数:

展开
参数名 类型 必填 说明
theme Theme 自定义组件当前生效的Theme对象。

Theme12+

Phone12+PC/2in113+Tablet12+TV19+Wearable18+

type Theme = import('../api/@ohos.arkui.theme').Theme

主题对象。

元服务API: 从API version 12开始,该接口支持在元服务中使用。

模型约束: 此接口仅可在Stage模型下使用。

系统能力: SystemCapability.ArkUI.ArkUI.Full

展开
类型 说明
import('../api/@ohos.arkui.theme').Theme 自定义组件当前生效的Theme对象。

V1:

收起
自动换行
深色代码主题
复制
  1. // xxx.ets
  2. import { CustomTheme, CustomColors, Theme, ThemeControl } from '@kit.ArkUI';
  3. class BlueColors implements CustomColors {
  4. fontPrimary = Color.White;
  5. backgroundPrimary = Color.Blue;
  6. brand = Color.Blue; // 品牌色
  7. }
  8. class PageCustomTheme implements CustomTheme {
  9. colors?: CustomColors;
  10. constructor(colors: CustomColors) {
  11. this.colors = colors;
  12. }
  13. }
  14. const blueColorsTheme = new PageCustomTheme(new BlueColors());
  15. // setDefaultTheme应该在应用入口页面调用或者在Ability中调用。
  16. ThemeControl.setDefaultTheme(blueColorsTheme);
  17. @Entry
  18. @Component
  19. struct IndexComponent {
  20. @State textColor: ResourceColor = $r('sys.color.font_primary');
  21. @State columnBgColor: ResourceColor = $r('sys.color.background_primary');
  22. // onWillApplyTheme中可获取当前组件上下文的Theme对象。此处在onWillApplyTheme中将状态变量textColor、columnBgColor,赋值为当前使用的Theme对象(blueColorsTheme)中的配色。
  23. onWillApplyTheme(theme: Theme) {
  24. this.textColor = theme.colors.fontPrimary;
  25. this.columnBgColor = theme.colors.backgroundPrimary;
  26. console.info('IndexComponent onWillApplyTheme');
  27. }
  28. build() {
  29. Column() {
  30. // 组件初始值配色样式
  31. Column() {
  32. Text('Hello World')
  33. .fontColor($r('sys.color.font_primary'))
  34. .fontSize(30)
  35. }
  36. .width('100%')
  37. .height('25%')
  38. .borderRadius('10vp')
  39. .backgroundColor($r('sys.color.background_primary'))
  40. // 组件颜色生效为onWillApplyTheme中配置颜色。
  41. Column() {
  42. Text('onWillApplyTheme')
  43. .fontColor(this.textColor)
  44. .fontSize(30)
  45. Text('Hello World')
  46. .fontColor(this.textColor)
  47. .fontSize(30)
  48. }
  49. .width('100%')
  50. .height('25%')
  51. .borderRadius('10vp')
  52. .backgroundColor(this.columnBgColor)
  53. }
  54. .padding('16vp')
  55. .backgroundColor('#dcdcdc')
  56. .width('100%')
  57. .height('100%')
  58. }
  59. }

V2:

收起
自动换行
深色代码主题
复制
  1. import { CustomTheme, CustomColors, Theme, ThemeControl } from '@kit.ArkUI';
  2. class BlueColors implements CustomColors {
  3. fontPrimary = Color.White;
  4. backgroundPrimary = Color.Blue;
  5. brand = Color.Blue; // 品牌色
  6. }
  7. class PageCustomTheme implements CustomTheme {
  8. colors?: CustomColors;
  9. constructor(colors: CustomColors) {
  10. this.colors = colors;
  11. }
  12. }
  13. const blueColorsTheme = new PageCustomTheme(new BlueColors());
  14. // setDefaultTheme应该在应用入口页面调用或者在Ability中调用。
  15. ThemeControl.setDefaultTheme(blueColorsTheme);
  16. @Entry
  17. @ComponentV2
  18. struct IndexComponent {
  19. @Local textColor: ResourceColor = $r('sys.color.font_primary');
  20. @Local columnBgColor: ResourceColor = $r('sys.color.background_primary');
  21. // onWillApplyTheme中可获取当前组件上下文的Theme对象。此处在onWillApplyTheme中将状态变量textColor、columnBgColor,赋值为当前使用的Theme对象(blueColorsTheme)中的配色。
  22. onWillApplyTheme(theme: Theme) {
  23. this.textColor = theme.colors.fontPrimary;
  24. this.columnBgColor = theme.colors.backgroundPrimary;
  25. console.info('IndexComponent onWillApplyTheme');
  26. }
  27. build() {
  28. Column() {
  29. // 组件初始值配色样式
  30. Column() {
  31. Text('Hello World')
  32. .fontColor($r('sys.color.font_primary'))
  33. .fontSize(30)
  34. }
  35. .width('100%')
  36. .height('25%')
  37. .borderRadius('10vp')
  38. .backgroundColor($r('sys.color.background_primary'))
  39. // 组件颜色生效为onWillApplyTheme中配置颜色。
  40. Column() {
  41. Text('onWillApplyTheme')
  42. .fontColor(this.textColor)
  43. .fontSize(30)
  44. Text('Hello World')
  45. .fontColor(this.textColor)
  46. .fontSize(30)
  47. }
  48. .width('100%')
  49. .height('25%')
  50. .borderRadius('10vp')
  51. .backgroundColor(this.columnBgColor)
  52. }
  53. .padding('16vp')
  54. .backgroundColor('#dcdcdc')
  55. .width('100%')
  56. .height('100%')
  57. }
  58. }

pageTransition9+

Phone12+PC/2in113+Tablet12+TV19+Wearable18+

pageTransition?(): void

pageTransition函数用于定义页面入场和页面退场的转场动效。

元服务API: 从API version 11开始,该接口支持在元服务中使用。

系统能力: SystemCapability.ArkUI.ArkUI.Full

onFormRecycle11+

Phone12+PC/2in113+Tablet12+TV19+Wearable18+

onFormRecycle?(): string

onFormRecycle回调函数在卡片回收时执行,卡片提供方可以返回需要卡片管理服务代保存的数据,在卡片恢复时通过onFormRecover接口传给卡片提供方。

元服务API: 从API version 12开始,该接口支持在元服务中使用。

卡片能力: 从API version 11开始,该接口支持在ArkTS卡片中使用。

模型约束: 此接口仅可在Stage模型下使用。

系统能力: SystemCapability.ArkUI.ArkUI.Full

返回值:

展开
类型 说明
string 返回卡片提供方需要卡片管理服务代保存的数据。

示例:

收起
自动换行
深色代码主题
复制
  1. @Entry
  2. @Component
  3. struct WidgetCard {
  4. readonly title: string = 'Hello World';
  5. readonly actionType: string = 'router';
  6. readonly abilityName: string = 'EntryAbility';
  7. readonly message: string = 'add detail';
  8. readonly fullWidthPercent: string = '100%';
  9. readonly fullHeightPercent: string = '100%';
  10. onFormRecycle(): string {
  11. let formId: string = '1859635745';
  12. // 卡片回收时触发回调
  13. console.info('card is recycled, formID: ' + formId);
  14. return formId;
  15. }
  16. onFormRecover(statusData: string): void {
  17. console.info('card has been restored, formID: ' + statusData);
  18. }
  19. build() {
  20. Row() {
  21. Column() {
  22. Text(this.title)
  23. .fontSize($r('app.float.font_size'))
  24. .fontWeight(FontWeight.Medium)
  25. .fontColor($r('sys.color.font'))
  26. }
  27. .width(this.fullWidthPercent)
  28. }
  29. .height(this.fullHeightPercent)
  30. .backgroundColor($r('sys.color.comp_background_primary'))
  31. .onClick(() => {
  32. postCardAction(this, {
  33. action: this.actionType,
  34. abilityName: this.abilityName,
  35. params: {
  36. message: this.message
  37. }
  38. });
  39. })
  40. }
  41. }

onFormRecover11+

Phone12+PC/2in113+Tablet12+TV19+Wearable18+

onFormRecover?(statusData: string): void

onFormRecover回调函数在卡片恢复时执行,卡片提供方可以拿到卡片回收时卡片管理服务代保存的数据,该数据可以通过onFormRecycle卡片回收回调函数保存到卡片管理服务。

元服务API: 从API version 12开始,该接口支持在元服务中使用。

卡片能力: 从API version 11开始,该接口支持在ArkTS卡片中使用。

模型约束: 此接口仅可在Stage模型下使用。

系统能力: SystemCapability.ArkUI.ArkUI.Full

参数:

展开
参数名 类型 必填 说明
statusData string 卡片回收时卡片管理服务代保存的数据。

示例:

收起
自动换行
深色代码主题
复制
  1. @Entry
  2. @Component
  3. struct WidgetCard {
  4. readonly title: string = 'Hello World';
  5. readonly actionType: string = 'router';
  6. readonly abilityName: string = 'EntryAbility';
  7. readonly message: string = 'add detail';
  8. readonly fullWidthPercent: string = '100%';
  9. readonly fullHeightPercent: string = '100%';
  10. onFormRecycle(): string {
  11. let formId: string = '1859635745';
  12. console.info('card is recycled, formID: ' + formId);
  13. return formId;
  14. }
  15. onFormRecover(statusData: string): void {
  16. // 在卡片恢复时触发回调
  17. console.info('card has been restored, formID: ' + statusData);
  18. }
  19. build() {
  20. Row() {
  21. Column() {
  22. Text(this.title)
  23. .fontSize($r('app.float.font_size'))
  24. .fontWeight(FontWeight.Medium)
  25. .fontColor($r('sys.color.font'))
  26. }
  27. .width(this.fullWidthPercent)
  28. }
  29. .height(this.fullHeightPercent)
  30. .backgroundColor($r('sys.color.comp_background_primary'))
  31. .onClick(() => {
  32. postCardAction(this, {
  33. action: this.actionType,
  34. abilityName: this.abilityName,
  35. params: {
  36. message: this.message
  37. }
  38. });
  39. })
  40. }
  41. }
在 API参考 中进行搜索
请输入您想要搜索的关键词