• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Updating Widget Content by Widget Host (for System Applications Only)
2
3
4Widgets that are updated periodically are subject to the scheduled time or interval settings. To offer more flexible updates, the widget host can provide a button to proactively trigger a widget update. Specifically, the widget host calls the [requestForm](../reference/apis/js-apis-app-form-formHost.md#requestform) API to request a widget update. The system then calls the [onUpdateForm](../reference/apis/js-apis-app-form-formExtensionAbility.md#onupdateform) lifecycle callback in the FormExtensionAbility of the widget provider. In the callback, the [updateForm](../reference/apis/js-apis-app-form-formProvider.md#updateform) API can be used to update the widget content. For details about the **onUpdateForm** lifecycle callback, see [Updating Widget Content Through FormExtensionAbility](arkts-ui-widget-event-formextensionability.md).
5
6```ts
7import formHost from '@ohos.app.form.formHost';
8
9@Entry()
10@Component
11struct WidgetCard {
12  formId = ...; // Widget ID
13
14  build() {
15    Button (`Update Widget`)
16      .type(ButtonType.Capsule)
17      .width('50%')
18      .height(50)
19      .onClick(() => {
20        console.info('FormAbility update form click');
21        // formId is the ID of the widget to be updated.
22        formHost.requestForm(this.formId.toString()).then(() => {
23          console.info('Succeeded in requestForming.');
24        });
25      })
26
27    ...
28  }
29}
30```
31