Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Docs
提交
546858ba
D
Docs
项目概览
OpenHarmony
/
Docs
1 年多 前同步成功
通知
159
Star
292
Fork
28
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
Docs
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
未验证
提交
546858ba
编写于
4月 10, 2023
作者:
O
openharmony_ci
提交者:
Gitee
4月 10, 2023
浏览文件
操作
浏览文件
下载
差异文件
!17070 优化ArkTS卡片指南中onCastToNormalForm生命周期回调描述
Merge pull request !17070 from zhongjianfei/mm0215
上级
5af4a802
078894ac
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
13 addition
and
1 deletion
+13
-1
zh-cn/application-dev/application-models/arkts-ui-widget-update-by-status.md
...ev/application-models/arkts-ui-widget-update-by-status.md
+13
-1
未找到文件。
zh-cn/application-dev/application-models/arkts-ui-widget-update-by-status.md
浏览文件 @
546858ba
...
...
@@ -90,6 +90,7 @@
-
EntryFormAbility:将卡片的状态存储在本地数据库中,在刷新事件回调触发时,通过formId获取当前卡片的状态,然后根据卡片的状态选择不同的刷新内容。
```
ts
import
formInfo
from
'
@ohos.app.form.formInfo
'
import
formProvider
from
'
@ohos.app.form.formProvider
'
;
import
formBindingData
from
'
@ohos.app.form.formBindingData
'
;
import
FormExtensionAbility
from
'
@ohos.app.form.FormExtensionAbility
'
;
...
...
@@ -97,6 +98,15 @@
export
default
class
EntryFormAbility
extends
FormExtensionAbility
{
onAddForm
(
want
)
{
let
formId
=
want
.
parameters
[
formInfo
.
FormParam
.
IDENTITY_KEY
];
let
isTempCard
:
boolean
=
want
.
parameters
[
formInfo
.
FormParam
.
TEMPORARY_KEY
];
if
(
isTempCard
===
false
)
{
// 如果为常态卡片,直接进行信息持久化
console
.
info
(
'
Not temp card, init db for:
'
+
formId
);
let
storeDB
=
dataStorage
.
getStorageSync
(
this
.
context
.
filesDir
+
'
myStore
'
)
storeDB
.
putSync
(
'
A
'
+
formId
,
'
false
'
);
storeDB
.
putSync
(
'
B
'
+
formId
,
'
false
'
);
storeDB
.
flushSync
();
}
let
formData
=
{};
return
formBindingData
.
createFormBindingData
(
formData
);
}
...
...
@@ -108,6 +118,7 @@
storeDB
.
deleteSync
(
'
B
'
+
formId
);
}
// 如果在添加时为临时卡片,则建议转为常态卡片时进行信息持久化
onCastToNormalForm
(
formId
)
{
console
.
info
(
'
onCastToNormalForm, formId:
'
+
formId
);
let
storeDB
=
dataStorage
.
getStorageSync
(
this
.
context
.
filesDir
+
'
myStore
'
)
...
...
@@ -156,4 +167,5 @@
> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:**
> 通过本地数据库进行卡片信息的持久化时,建议在卡片转为常态卡片(**[onCastToNormalForm](../reference/apis/js-apis-app-form-formExtensionAbility.md#oncasttonormalform)**)时进行持久化,并在卡片销毁(**[onRemoveForm](../reference/apis/js-apis-app-form-formExtensionAbility.md#onremoveform)**)时删除当前卡片存储的持久化信息,避免反复添加删除卡片导致数据库文件持续变大。
> 通过本地数据库进行卡片信息的持久化时,建议先在[**onAddForm**](../reference/apis/js-apis-app-form-formExtensionAbility.md#onaddform)生命周期中通过[**TEMPORARY_KEY**](../reference/apis/js-apis-app-form-formInfo.md#formparam)判断当前添加的卡片是否为常态卡片:如果是常态卡片,则直接进行卡片信息持久化;如果为临时卡片,则可以在卡片转为常态卡片(**[onCastToNormalForm](../reference/apis/js-apis-app-form-formExtensionAbility.md#oncasttonormalform)**)时进行持久化;同时需要在卡片销毁(**[onRemoveForm](../reference/apis/js-apis-app-form-formExtensionAbility.md#onremoveform)**)时删除当前卡片存储的持久化信息,避免反复添加删除卡片导致数据库文件持续变大。
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录