一.引言
ArkTS提供了一套声明式UI描述规范,帮助以更接近于自然语义的方式,直观的描述UI界面,它提升了HarmonyOS应用开发的效率,下面给出一个示例。
二.示例分析
这段代码显示了排名,水果信息,和获得的票数的效果,点击其中的一行后,对应的水果名称和购得的票数会发生颜色的变化。
*示例
*装饰器
装饰器适用于装饰,类,结构,方法和变量的,并赋予其特殊能力
@Componet
struct ListItemComponet{
@State isChange:boolean = false;
上述代码块就是装饰器的部分。
其中@Componet就是一种装饰器,它表示自定义组件。用@Componet装饰的struck ListItemComponet,代表一个自定义的结构体,名字是ListItemComponet,它是可以重用的UI单元,可以与其它组件组合。
@Component:@Component装饰器仅能装饰struct关键字声明的数据结构。struct被@Component装饰后具备组件化的能力,需要实现build方法描述UI,一个struct只能被一个@Component装饰。@Component可以接受一个可选的bool类型参数。大家可以先了解一下,或者去官方文档查阅。
从API version 9开始,该装饰器支持在ArkTS卡片中使用。
从API version 11开始,@Component可以接受一个可选的bool类型参数。
其中的@State也是一种装饰器,它表示被它修饰的变量isChange值发生变化时,会触发该变量所对应的自定义组件ListItemComponet的UI界面会进行自动刷新。
*UI描述
build(){
}
UI描述指的是build中的代码块,是以声明式的方式描述该自定义组件ListItemComponet的UI结构
*内置组件
Row(){
Text(this.time)
如上面的代码块就是内置组件,是系统提供的基础组件和容器组件等,我们可以直接调用,比如Row是水平方向布局的容器组件,Text是文本组件用来展示一段数字。
*属性方法
.height(ItemStyle.BAR_HEIGHT)
用来设置组件的属性,比如Text组件里的文本颜色属性等等,属性方法紧随组件,我们可以用' . '来进行连接。
*事件方法
.onClick(()=>{
this.isChange = !this.isChange;
})
适用于设置组件对事件的响应逻辑,比如Row组件的onClick方法,点击组件可以触发该方法的调用,并在其中进行响应逻辑处理
本篇文章先了解一下,后续再深入学习