Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Docs
提交
d995d7b8
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看板
提交
d995d7b8
编写于
8月 08, 2023
作者:
Z
zhuzijia
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
删除自定义方法
Signed-off-by:
N
zhuzijia
<
zhuzijia@huawei.com
>
上级
fb7e3a70
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
0 addition
and
66 deletion
+0
-66
zh-cn/application-dev/quick-start/arkts-create-custom-components.md
...ication-dev/quick-start/arkts-create-custom-components.md
+0
-66
未找到文件。
zh-cn/application-dev/quick-start/arkts-create-custom-components.md
浏览文件 @
d995d7b8
...
...
@@ -70,8 +70,6 @@ struct ParentComponent {
-
[
自定义组件通用样式
](
#自定义组件通用样式
)
-
[
自定义属性方法
](
#自定义属性方法
)
## 自定义组件的基本结构
...
...
@@ -347,68 +345,4 @@ struct MyComponent {
>
> ArkUI给自定义组件设置样式时,相当于给MyComponent2套了一个不可见的容器组件,而这些样式是设置在容器组件上的,而非直接设置给MyComponent2的Button组件。通过渲染结果我们可以很清楚的看到,背景颜色红色并没有直接生效在Button上,而是生效在Button所处的开发者不可见的容器组件上。
## 自定义属性方法
自定义组件不支持提供自定义属性方法,可以借助类似Controller控制器能力,提供自定义接口。
```
ts
// 自定义controller
export
class
MyComponentController
{
item
:
MyComponent
=
null
;
setItem
(
item
:
MyComponent
)
{
this
.
item
=
item
;
}
changeText
(
value
:
string
)
{
this
.
item
.
value
=
value
;
}
}
// 自定义组件
@
Component
export
default
struct
MyComponent
{
public
controller
:
MyComponentController
=
null
;
@
State
value
:
string
=
'
Hello World
'
;
build
()
{
Column
()
{
Text
(
this
.
value
)
.
fontSize
(
50
)
}
}
aboutToAppear
()
{
if
(
this
.
controller
)
this
.
controller
.
setItem
(
this
);
// 绑定controller
}
}
// 使用处逻辑
@
Entry
@
Component
struct
StyleExample
{
controller
=
new
MyComponentController
();
build
()
{
Column
()
{
MyComponent
({
controller
:
this
.
controller
})
}
.
onClick
(()
=>
{
this
.
controller
.
changeText
(
'
Text
'
);
})
}
}
```
在上面的示例中:
1.
通过子组件MyComponent的aboutToAppear方法,把当前的this指针传递给MyComponentController的item成员变量。
2.
在StyleExample父组件中持有controller实例,调用controller的changeText方法,即相当于通过controller持有的MyComponent子组件的this指针,改变MyComponent的状态变量value的值。
通过controller的封装,MyComponent对外暴露了changeText的接口,所有持有controller的实例都可以通过调用changeText接口,改变MyComponent的状态变量value的值。
<!--no_check-->
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录