未验证 提交 3d2e8365 编写于 作者: O openharmony_ci 提交者: Gitee

!18310 Recycle doc.

Merge pull request !18310 from guozejun/master
......@@ -114,6 +114,19 @@ struct ParentComponent {
}
```
- \@Recycle:\@Recycle装饰的自定义组件具备可复用能力
> **说明:**
>
> 从API version 10开始,该装饰器支持在ArkTS卡片中使用。
```ts
@Recycle
@Component
struct MyComponent {
}
```
## 成员函数/变量
......
......@@ -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.
先完成此消息的编辑!
想要评论请 注册