harmony 鸿蒙ArkTS卡片主动刷新
ArkTS卡片主动刷新
本文主要提供主动刷新的开发指导,刷新流程请参考主动刷新概述。
卡片提供方主动刷新卡片内容
卡片提供方可以通过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)
}
//...
}
//...
}
}
卡片使用方主动刷新卡片内容(仅对系统应用开放)
由于定时、定点刷新存在时间限制,卡片使用方可以通过调用requestForm接口向卡片管理服务请求主动触发卡片的刷新。卡片管理服务触发卡片提供方FormExtensionAbility中的onUpdateForm生命周期回调,回调中可以使用updateForm接口刷新卡片内容。
import { formHost } 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;
build() {
Column() {
Column() {
//...
Button() {
//...
}
.onClick(() => {
console.info(DOMAIN_NUMBER, TAG, `click to check requestForm, formId: ${this.formId}`);
// formId需要为实际需要刷新的卡片ID
formHost.requestForm(this.formId.toString()).then(() => {
console.info(DOMAIN_NUMBER, TAG, 'requestForm success.');
}).catch((error: BusinessError) => {
console.error(DOMAIN_NUMBER, TAG, `requestForm fail, code: ${error?.code}, message: ${error?.message}`);
})
})
.margin(5)
}
//...
}
//...
}
}
你可能感兴趣的鸿蒙文章
harmony 鸿蒙场景动效类型互动卡片开发指导(系统应用)
0
赞
- 所属分类: 后端技术
- 本文标签:
热门推荐
-
2、 - 优质文章
-
3、 gate.io
-
8、 golang
-
9、 openharmony
-
10、 Vue中input框自动聚焦