HarmonyOS NEXT——奇妙的调用方式

注解调用 一句话总结
@Extend 抽取特定组件样式、事件,可以传递参数
@Style 抽取公共样式、事件,不可以传递参数
@Builder 抽取结构、样式、事件,可以传递参数
@BuilderParams 自定义组件中传递UI组件
多个@BuilderParams 自定义组件中传递多个UI组件

@Extend

一句话总结:抽取特定组件样式、事件,可以传递参数

1、使用场景

当使用组件的时候有多个重复的属性的时候,可以抽取成Extend拓展使用

2、使用Extend后简化代码

3、Extend的抽取

通过@Extend(组件名)的方式去将重复属性进行定义

@Style

一句话总结:抽取公共样式、事件,不可以传递参数

1、使用场景

当不同组件间有同样的属性参数的时候,可以用@Style来抽取相同属性值

2、使用Style后简化代码

3、Style的抽取

  1. 通过@Style function 函数名()的方式可以定义全局的通用属性
  2. 通过@Style 函数名()的方式可以定义局部的通用属性,可使用this字段的参数
  3. 注意:@Style的局限性是无法传递形参

@Builder

一句话总结:抽取结构、样式、事件,可以传递参数

1、使用场景

当场景的所有组件代码高度重复的时候,可以考虑用@Builder方式进行构造

2、使用Builder后简化代码

3、Builder的抽取

@BuilderParams

一句话总结:自定义组件中传递UI组件

1、使用场景

在自定义的组件SonCom中需要传递UI组件的参数,使用BuilderParams传递UI组件参数

2、BuilderParams的抽取

多个@BuilderParams

一句话总结:自定义组件中传递多个UI组件

1、使用场景

在多个UI参数的情况下,可以使用参数名的方式指定每一个Builder

2、BuilderParams的抽取

相关推荐
帅次1 小时前
Modifier 链与顺序、测量与命中区域
android·kotlin·compose·modifier
leory2 小时前
请详细描述Handler消息机制的工作原理
android·面试
leory2 小时前
请描述Binder IPC的基本原理和工作流程
android·面试
leory2 小时前
View的事件分发机制是怎样的?dispatchTouchEvent、onInterceptTouchEvent、onTouchEvent的关系?
android·面试
xyccstudio2 小时前
将 libsmb2 集成到 HarmonyOS ArkTS 项目
harmonyos
zander2582 小时前
Canal本地部署保姆级教程
android
小仙女喂得猪3 小时前
2026 Android 组件化项目的AICoding落地实践
android·kotlin·ai编程
leory3 小时前
请详细描述JVM的垃圾回收机制?
android·面试
leory3 小时前
volatile关键字的作用是什么?它能保证原子性吗?
android·面试
消失的旧时光-19433 小时前
为什么 Linux / Android 系统里全是 struct + 函数指针?—— 一篇讲透 C 语言如何实现面向对象(OOP)
android·linux·c语言