1# 使用方刷新卡片内容(仅对系统应用开放)
2
3
4当使用方添加了一些周期性刷新的卡片后,由于周期性刷新的时间间隔限制,可以在使用方中提供按钮主动触发卡片的刷新。这种场景下使用方可以通过调用[requestForm](../reference/apis-form-kit/js-apis-app-form-formHost-sys.md#requestform)接口请求卡片刷新,系统会调用卡片提供方FormExtensionAbility中的[onUpdateForm](../reference/apis-form-kit/js-apis-app-form-formExtensionAbility.md#onupdateform)生命周期回调,在回调中,可以使用[updateForm](../reference/apis-form-kit/js-apis-app-form-formProvider.md#updateform)接口刷新卡片内容。onUpdateForm生命周期回调参考[通过message事件刷新卡片内容](arkts-ui-widget-event-formextensionability.md)。
5
6```ts
7import { formHost } from '@kit.FormKit';
8import { BusinessError } from '@kit.BasicServicesKit';
9import { hilog } from '@kit.PerformanceAnalysisKit';
10
11let storage = new LocalStorage();
12const TAG: string = 'Index';
13const DOMAIN_NUMBER: number = 0xFF00;
14
15@Entry(storage)
16@Component
17struct Index {
18  @StorageLink('formId') formId: number = 0;
19
20  build() {
21    Column() {
22      Column() {
23        //...
24        Button() {
25          //...
26        }
27        .onClick(() => {
28          hilog.info(DOMAIN_NUMBER, TAG, `FormAbility update form click, formId: ${this.formId}`);
29          // formId需要为实际需要刷新的卡片ID
30          formHost.requestForm(this.formId.toString()).then(() => {
31            hilog.info(DOMAIN_NUMBER, TAG, 'Succeeded in requestForming.');
32          }).catch((error: BusinessError) => {
33            hilog.error(DOMAIN_NUMBER, TAG, `requestForm fail, error: ${JSON.stringify(error)}`);
34          })
35        })
36        .margin(5)
37      }
38      //...
39    }
40    //...
41  }
42}
43```
44