相关问题
#鸿蒙通关秘籍#如何通过message事件刷新鸿蒙OS卡片中的内容
49浏览 • 1回复 待解决
#鸿蒙通关秘籍#开发鸿蒙动态卡片时如何利用router或call事件保持卡片内容实时更新
39浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何实现鸿蒙卡片定时和定点刷新?
37浏览 • 1回复 待解决
#鸿蒙通关秘籍#怎样设置鸿蒙卡片的下次刷新时间?
31浏览 • 1回复 待解决
如何根据依据组件的内部状态的不同,快速设置不同样式,都有哪些状态?
358浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何进行鸿蒙卡片的状态持久化管理?
40浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何使用component类型的XComponent动态加载内容?
99浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何在HarmonyOS中为不同状态设置不同的转场动画?
107浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何处理Refresh组件的刷新状态变化?
68浏览 • 1回复 待解决
刷新显示状态,希望自定义一个刷新组件,通过刷新状态的不同显示不同字段包括下拉刷新,释放刷新
837浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何减少鸿蒙状态管理中组件刷新次数?
112浏览 • 1回复 待解决
#鸿蒙通关秘籍#动态卡片与静态卡片事件能力在鸿蒙开发中的应用
45浏览 • 1回复 待解决
#鸿蒙通关秘籍#怎样避免鸿蒙卡片定时刷新时的误差问题?
28浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何在ArkTS卡片中处理用户的动态操作?
39浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何刷新鸿蒙卡片中的本地图片和在线图片?
38浏览 • 1回复 待解决
#鸿蒙通关秘籍#在ArkTS卡片开发中如何定义和使用卡片的刷新机制?
51浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何自定义鸿蒙全局状态弹窗的布局和内容?
113浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何根据滑动动态地调整模糊效果?
84浏览 • 1回复 待解决
#鸿蒙通关秘籍#TextInput组件如何根据输入内容改变组件本身的长度?
67浏览 • 1回复 待解决
#鸿蒙通关秘籍# 如何根据不同使用目的配置HarmonyOS密钥库中的密钥参数?
70浏览 • 0回复 待解决
#鸿蒙通关秘籍#如何在鸿蒙中实现动态网格布局刷新
37浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何在鸿蒙NEXT应用中动态更新显示网络状态?
120浏览 • 1回复 待解决
#鸿蒙通关秘籍#使用stateStyles时如何依据组件的内部状态的不同快速设置不同样式?
106浏览 • 1回复 待解决
#鸿蒙通关秘籍#提个问题,服务卡片开发中,动态卡片和静态卡片有什么区别?
81浏览 • 1回复 待解决
HarmonyOS使用Canvas自定义绘制内容后,如何根据onTouch事件动态更新绘制的内容?
404浏览 • 1回复 待解决
可通过本地数据库存储卡片状态,在
onUpdateForm
回调中根据状态选择要刷新的内容:javascript import { preferences } from '@kit.ArkData'; import { formBindingData, FormExtensionAbility, formProvider } from '@kit.FormKit';
export default class UpdateByStatusFormAbility extends FormExtensionAbility { onAddForm(want) { let formId = JSON.stringify(want.parameters[formInfo.FormParam.IDENTITY_KEY]); let promise = preferences.getPreferences(this.context, 'myStore'); promise.then((storeDB) => { storeDB.put('A' + formId, 'false'); storeDB.put('B' + formId, 'false'); storeDB.flush(); });
}
onUpdateForm(formId) { let promise = preferences.getPreferences(this.context, 'myStore'); promise.then(async (storeDB) => { let stateA = await storeDB.get('A' + formId, 'false'); let stateB = await storeDB.get('B' + formId, 'false'); if (stateA === 'true') { let param = { 'textA': 'AAA' }; formProvider.updateForm(formId, formBindingData.createFormBindingData(param)); } if (stateB === 'true') { let param = { 'textB': 'BBB' }; formProvider.updateForm(formId, formBindingData.createFormBindingData(param)); } }); }
onFormEvent(formId, message) { let promise = preferences.getPreferences(this.context, 'myStore'); promise.then(async (storeDB) => { let msg = JSON.parse(message); if (msg.selectA !== undefined) { storeDB.put('A' + formId, msg.selectA); } if (msg.selectB !== undefined) { storeDB.put('B' + formId, msg.selectB); } storeDB.flush(); }); } }
使用
preferences
进行信息的持久化,并在相应的状态变化后更新卡片内容。