ArkTS @Extend装饰器的用法(附带实例)
@Extend 装饰器的作用主要是扩展原生组件的样式,它的使用语法如下:
在使用 @Extend 装饰器时,需要注意以下几点:
@Extend 装饰器的示例代码如下:
@Extend(ui组件名称) function functionName { ... }
在使用 @Extend 装饰器时,需要注意以下几点:
- @Extend 装饰器仅支持在全局定义,不支持在组件内定义;
- @Export 只能在当前文件内使用,不支持 export 的导出;
- @Extend 支持封装指定组件的私有属性、私有事件和自身定义的全局方法;
- @Extend 装饰的方法支持参数,可以在调用时传递参数,调用遵循 TypeScript 方法传值调用。
@Extend 装饰器的示例代码如下:
@Entry
@Component
struct Demo_Extend {
build() {
Row({ space: 10 }) {
Text('商品')
.TextExtendStyle(100, Color.White, 20)
Text('harmonyos')
.TextExtendStyle(200, Color.Pink, 30)
Text('单框架鸿蒙')
.TextExtendStyle(300, Color.Orange, 40)
}
}
}
@Extend(Text) function TextExtendStyle(weight:number, color:Color, fontSize:number) {
.fontWeight(weight)
.fontColor(color)
.fontSize(fontSize)
.backgroundColor('#000000')
}
在上述示例代码中,3 个 Text UI 组件拥有共同的样式属性,只是每个属性的值不同。此时我们可以将公共的样式属性放到 @Extend 中,并通过传参的方式来设置每个属性的值。这样可使代码更加整洁,同时也减少了代码量。
ICP备案:
公安联网备案: