• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# 使用方刷新卡片内容(仅对系统应用开放)
2
3
4当使用方添加了一些周期性刷新的卡片后,由于周期性刷新的时间间隔限制,可以在使用方中提供按钮主动触发卡片的刷新。这种场景下使用方可以通过调用[requestForm](../reference/apis/js-apis-app-form-formHost.md#requestform)接口请求卡片刷新,系统会调用卡片提供方FormExtensionAbility中的[onUpdateForm](../reference/apis/js-apis-app-form-formExtensionAbility.md#onupdateform)生命周期回调,在回调中,可以使用[updateForm](../reference/apis/js-apis-app-form-formProvider.md#updateform)接口刷新卡片内容。onUpdateForm生命周期回调参考[通过FormExtensionAbility刷新卡片内容](arkts-ui-widget-event-formextensionability.md)。
5
6```ts
7import formHost from '@ohos.app.form.formHost';
8import Base from '@ohos.base';
9
10@Entry()
11@Component
12struct WidgetCard {
13  formId: string = 'formId'; // 卡片ID
14
15  build() {
16    Button(`刷新卡片`)
17      .type(ButtonType.Capsule)
18      .width('50%')
19      .height(50)
20      .onClick(() => {
21        console.info('FormAbility update form click');
22        // formId需要为实际需要刷新的卡片ID
23        formHost.requestForm(this.formId.toString()).then(() => {
24          console.info('Succeeded in requestForming.');
25        }).catch((error: Base.BusinessError) => {
26          console.error('requestForm fail, error: ' + JSON.stringify(error));
27        })
28      })
29
30    ...
31  }
32}
33```
34