自定义组件具有以下特点:
- 可组合
- 可重用
- 数据驱动UI更新
自定义组件通用样式
@Component
struct MyComponent2 {
build() {
Button(`Hello World`)
}
}
@Entry
@Component
struct MyComponent {
build() {
Row() {
MyComponent2()
.width(200)
.height(300)
.backgroundColor(Color.Red)
}
}
}
ArkUI给自定义组件设置样式时,相当于给MyComponent2套了一个不可见的容器组件,而这些样式是设置在容器组件上的,而非直接设置给MyComponent2的Button组件。通过渲染结果我们可以很清楚的看到,背景颜色红色并没有直接生效在Button上,而是生效在Button所处的开发者不可见的容器组件上。
build()函数
所有声明在build()函数的语言,我们统称为UI描述
- build()函数下的根节点唯一且必要
- 不允许生命本地变量
- 不允许在UI描述里直接使用console.info
- 不允许创建本地的作用域
- 不允许调用没有用@Builder装饰的方法,允许系统组件的参数是TS方法的返回值。
- 不允许switch语法,如果需要使用条件判断,请使用if。
- 不允许使用表达式(三元表达式)
网友评论