codecamp

使用方刷新卡片内容(仅对系统应用开放)

当使用方添加了一些周期性刷新的卡片后,由于周期性刷新的时间间隔限制,可以在使用方中提供按钮主动触发卡片的刷新。这种场景下使用方可以通过调用requestForm接口请求卡片刷新,系统会调用卡片提供方FormExtensionAbility中的onUpdateForm生命周期回调,在回调中,可以使用updateForm接口刷新卡片内容。onUpdateForm生命周期回调参考通过FormExtensionAbility刷新卡片内容
  1. import formHost from '@ohos.app.form.formHost';
  2. @Entry()
  3. @Component
  4. struct WidgetCard {
  5. formId = ...; // 卡片ID
  6. build() {
  7. Button(`刷新卡片`)
  8. .type(ButtonType.Capsule)
  9. .width('50%')
  10. .height(50)
  11. .onClick(() => {
  12. console.info('FormAbility update form click');
  13. // formId需要为实际需要刷新的卡片ID
  14. formHost.requestForm(this.formId.toString()).then(() => {
  15. console.info('Succeeded in requestForming.');
  16. });
  17. })
  18. ...
  19. }
  20. }
根据卡片状态刷新不同内容
AbilityStage组件容器
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录
HAR

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }