Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Docs
提交
3d2e8365
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看板
未验证
提交
3d2e8365
编写于
5月 24, 2023
作者:
O
openharmony_ci
提交者:
Gitee
5月 24, 2023
浏览文件
操作
浏览文件
下载
差异文件
!18310 Recycle doc.
Merge pull request !18310 from guozejun/master
上级
fc9b8524
f00719bd
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
70 addition
and
0 deletion
+70
-0
zh-cn/application-dev/quick-start/arkts-create-custom-components.md
...ication-dev/quick-start/arkts-create-custom-components.md
+13
-0
zh-cn/application-dev/reference/arkui-ts/ts-custom-component-lifecycle.md
...n-dev/reference/arkui-ts/ts-custom-component-lifecycle.md
+57
-0
未找到文件。
zh-cn/application-dev/quick-start/arkts-create-custom-components.md
浏览文件 @
3d2e8365
...
...
@@ -114,6 +114,19 @@ struct ParentComponent {
}
```
-
\@
Recycle:
\@
Recycle装饰的自定义组件具备可复用能力
> **说明:**
>
> 从API version 10开始,该装饰器支持在ArkTS卡片中使用。
```
ts
@
Recycle
@
Component
struct
MyComponent
{
}
```
## 成员函数/变量
...
...
zh-cn/application-dev/reference/arkui-ts/ts-custom-component-lifecycle.md
浏览文件 @
3d2e8365
...
...
@@ -113,6 +113,63 @@ onMeasure?(children: Array<LayoutChild>, constraint: ConstraintSizeOptions
| children | Array
<
[LayoutChild](#layoutchild9)
>
| 子组件布局信息。 |
| constraint |
[
ConstraintSizeOptions
](
ts-types.md#constraintsizeoptions
)
| 父组件constraint信息。 |
## onRecycle<sup>10+</sup>
onRecycle?(params: { [key: string]: unknown }): void
当一个可复用的自定义组件从复用缓存中重新加入到节点树时,触发onRecycle生命周期回调,并将组件的构造参数传递给onRecycle。
从API version 10开始,该接口支持在ArkTS卡片中使用。
**参数:**
| 参数名 | 类型 | 说明 |
| ------ | -------------------------- | -------------------- |
| params | { [key: string]: unknown } | 自定义组件的构造参数 |
```
ts
// xxx.ets
@
Entry
@
Component
struct
Index
{
@
State
message
:
string
=
'
Hello World
'
@
State
switch
:
boolean
=
true
build
()
{
Column
()
{
Button
(
this
.
message
)
.
fontSize
(
50
)
.
fontWeight
(
FontWeight
.
Bold
)
.
onClick
(()
=>
{
this
.
switch
=
!
this
.
switch
})
if
(
this
.
switch
)
{
Child
()
}
}
.
height
(
"
100%
"
)
.
width
(
'
100%
'
)
}
}
@
Recycle
@
Component
struct
Child
{
onRecycle
(
params
)
{
console
.
info
(
"
Recycle Child
"
)
}
build
()
{
Column
()
{
Text
(
"
Child Component
"
)
.
fontSize
(
20
)
}
.
borderWidth
(
2
)
.
height
(
100
)
}
}
```
## LayoutChild<sup>9+</sup>
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录