1# @ohos.app.form.FormEditExtensionAbility (FormEditExtensionAbility) 2 3The **FormEditExtensionAbility** module, inherited from **UIExtensionAbility**, provides the widget editing function. 4 5> **NOTE** 6> 7> The initial APIs of this module are supported since API version 18. Newly added APIs will be marked with a superscript to indicate their earliest API version. 8> 9> The APIs of this module can be used only in the stage model. 10 11## Modules to Import 12 13```ts 14import { FormEditExtensionAbility } from '@kit.FormKit'; 15``` 16 17## Properties 18**Model restriction**: This API can be used only in the stage model. 19 20**System capability**: SystemCapability.Ability.Form 21 | Name| Type | Read-Only| Optional |Description| 22 | ------ | ------ | ---- | ---- | ---- | 23 | context | [FormEditExtensionContext](./js-apis-inner-application-formEditExtensionContext.md) | No | No|Context of **FormEditExtensionAbility**. The default value is an object inherited from **UIExtensionContext**.<br>**Atomic service API**: This API can be used in atomic services since API version 18.| 24 25## FormEditExtensionAbility.onCreate 26 27onCreate(launchParam: AbilityConstant.LaunchParam): void 28 29Called when **FormEditExtensionAbility** is created. 30 31**Model restriction**: This API can be used only in the stage model. 32 33**Atomic service API**: This API can be used in atomic services since API version 18. 34 35**System capability**: SystemCapability.Ability.Form 36 37**Parameters** 38 39 | Name| Type | Mandatory| Description | 40 | ------ | ------ | ---- | ------------------------------------- | 41 | launchParam | [AbilityConstant.LaunchParam](../apis-ability-kit/js-apis-app-ability-abilityConstant.md#launchparam) | Yes | Launch parameter when **FormEditExtensionAbility** is created. | 42 43 44**Example** 45 46```ts 47import { FormEditExtensionAbility } from '@kit.FormKit'; 48import { AbilityConstant } from '@kit.AbilityKit'; 49 50const TAG: string = '[testTag] ExampleFormEditExtensionAbility'; 51export default class ExampleFomrEditAbility extends FormEditExtensionAbility { 52 onCreate(launchParam: AbilityConstant.LaunchParam) { 53 console.info(TAG, `onCreate`); 54 console.log(`onCreate, launchParam: ${JSON.stringify(launchParam)}`); 55 } 56} 57``` 58 59## FormEditExtensionAbility.onSessionCreate 60 61onSessionCreate(want: Want, session: UIExtensionContentSession): void 62 63Loads a widget page. This method is called after the UI content of **FormEditExtensionAbility** is created. 64 65**Model restriction**: This API can be used only in the stage model. 66 67**Atomic service API**: This API can be used in atomic services since API version 18. 68 69**System capability**: SystemCapability.Ability.Form 70 71**Parameters** 72 73 | Name| Type | Mandatory| Description | 74 | ------ | ------ | ---- | ------------------------------------- | 75 | want | [Want](../apis-ability-kit/js-apis-app-ability-want.md) | Yes | Want information of **FormEditExtensionAbility**, including the ability name and bundle.| 76 | session | [UIExtensionContentSession](../apis-ability-kit/js-apis-app-ability-uiExtensionContentSession.md) | Yes | **UIExtensionContentSession** object created when the UI content is loaded.| 77 78 79**Example** 80 81```ts 82import { FormEditExtensionAbility } from '@kit.FormKit'; 83import { Want,UIExtensionContentSession } from '@kit.AbilityKit'; 84 85const TAG: string = '[testTag] ExampleFormEditAbility'; 86export default class ExampleFormEditAbility extends FormEditExtensionAbility { 87 onSessionCreate(want: Want, session: UIExtensionContentSession) { 88 console.info(TAG, `onSessionCreate want: ${JSON.stringify(want)}`); 89 } 90} 91``` 92 93## FormEditExtensionAbility.onSessionDestroy 94 95onSessionDestroy(session: UIExtensionContentSession): void 96 97Called after the UI content of **FormEditExtensionAbility** is destroyed. 98 99**Model restriction**: This API can be used only in the stage model. 100 101**Atomic service API**: This API can be used in atomic services since API version 18. 102 103**System capability**: SystemCapability.Ability.Form 104 105**Parameters** 106 107 | Name| Type | Mandatory| Description | 108 | ------ | ------ | ---- | ------------------------------------- | 109 | session | [UIExtensionContentSession](../apis-ability-kit/js-apis-app-ability-uiExtensionContentSession.md) | Yes | **UIExtensionContentSession** object created when the UI content is loaded.| 110 111 112**Example** 113 114```ts 115import { FormEditExtensionAbility } from '@kit.FormKit'; 116import { UIExtensionContentSession } from '@kit.AbilityKit'; 117 118const TAG: string = '[testTag] ExampleFormEditAbility'; 119export default class ExampleFormEditAbility extends FormEditExtensionAbility{ 120 onSessionDestroy() { 121 console.info(TAG, `onSessionDestroy`); 122 } 123} 124``` 125## FormEditExtensionAbility.onForeground 126 127onForeground(): void 128 129Called when **FormEditExtensionAbility** is switched from the background to the foreground. 130 131**Model restriction**: This API can be used only in the stage model. 132 133**Atomic service API**: This API can be used in atomic services since API version 18. 134 135**System capability**: SystemCapability.Ability.Form 136 137**Example** 138 139```ts 140import { FormEditExtensionAbility } from '@kit.FormKit'; 141 142const TAG: string = '[testTag] ExampleFormEditAbility'; 143export default class ExampleFormEditAbility extends FormEditExtensionAbility{ 144 onForeground() { 145 console.info(TAG, `onForeground`); 146 } 147} 148``` 149## FormEditExtensionAbility.onBackground 150 151onBackground(): void 152 153Called when **FormEditExtensionAbility** is switched from the foreground to the background. 154 155**Model restriction**: This API can be used only in the stage model. 156 157**Atomic service API**: This API can be used in atomic services since API version 18. 158 159**System capability**: SystemCapability.Ability.Form 160 161**Example** 162 163```ts 164import { FormEditExtensionAbility } from '@kit.FormKit'; 165 166const TAG: string = '[testTag] ExampleFormEditAbility'; 167export default class ExampleFormEditAbility extends FormEditExtensionAbility{ 168 onBackground() { 169 console.info(TAG, `onBackground`); 170 } 171} 172``` 173 174## FormEditExtensionAbility.onDestroy 175 176onDestroy(): void | Promise<void> 177 178Called when **FormEditExtensionAbility** is destroyed to clear resources. 179 180**Model restriction**: This API can be used only in the stage model. 181 182**Atomic service API**: This API can be used in atomic services since API version 18. 183 184**System capability**: SystemCapability.Ability.Form 185 186**Return value** 187| Type | Description | 188| ------------------------------------------------------------ | ----------------------------------------------------------- | 189| Promise<void>|Promise that returns no value. | 190 191**Example** 192 193```ts 194import { FormEditExtensionAbility } from '@kit.FormKit'; 195 196const TAG: string = '[testTag] ExampleFormEditAbility'; 197export default class ExampleFormEditAbility extends FormEditExtensionAbility{ 198 onDestroy() { 199 console.info(TAG, `onDestroy`); 200 } 201} 202``` 203