本文主要提供主动刷新的开发指导

卡片提供方主动刷新卡片内容

卡片提供方可以通过[updateForm]接口进行主动刷新。推荐与卡片生命周期回调[onFormEvent]、[onUpdateForm]、[onAddForm]接口搭配使用。

import { formBindingData, formProvider } from '@kit.FormKit';
import { BusinessError } from '@kit.BasicServicesKit';


let storage = new LocalStorage();
const TAG: string = 'Index';
const DOMAIN_NUMBER: number = 0xFF00;


@Entry(storage)
@Component
struct Index {
  @StorageLink('formId') formId: number = 0;
  @StorageLink('formData') formData: Object | string = {};


  build() {
    Column() {
      Column() {
        //...
        Button() {
          //...
        }
        .onClick(() => {
          console.info(DOMAIN_NUMBER, TAG, `click to check updateForm, formId: ${this.formId}`);
          const formInfo: formBindingData.FormBindingData = formBindingData.createFormBindingData(this.formData);
          // formId需要为实际需要刷新的卡片ID
          formProvider.updateForm(this.formId, formInfo).then(() => {
            console.info(DOMAIN_NUMBER, TAG, 'updateForm success.');
          }).catch((error: BusinessError) => {
            console.error(DOMAIN_NUMBER, TAG, `updateForm fail, code: ${error?.code}, message: ${error?.message}`);
          })
        })
        .margin(5)
      }
      //...
    }
    //...
  }
}
Logo

讨论HarmonyOS开发技术,专注于API与组件、DevEco Studio、测试、元服务和应用上架分发等。

更多推荐