鸿蒙next版开发:ArkTS组件通用属性(组件标识)

简介: 在HarmonyOS 5.0中,ArkTS的组件标识(ID)为每个组件提供唯一标识符,方便开发者引用和操作组件。本文详细解读了id和key属性的使用方法,并提供了示例代码,展示了如何通过组件标识获取属性、发送事件及动态操作组件。

在HarmonyOS 5.0中,ArkTS的组件标识(ID)是开发中常用的一种属性,它为应用内的每个组件提供了一个唯一的标识符。这使得开发者能够在代码中引用特定的组件,执行操作如获取组件属性、发送事件等。本文将详细解读ArkTS中组件标识的通用属性,并提供示例代码进行说明 。

组件标识基础
组件标识(ID)是组件的唯一标识符,在整个应用内唯一 。通过这个标识符,开发者可以获取指定ID组件的属性,也提供向指定ID组件发送事件的功能 。

id属性
id属性用于为组件设置一个唯一的标识符。这个标识符可以是任何有效的字符串,但在整个应用中必须是唯一的 。

参数说明:

value: 组件的唯一标识,由使用者保证其唯一性。
默认值:空字符串 ''。
key属性
key属性同样用于为组件设置唯一标识,但它主要用于应用的测试。与id属性同时使用时,后赋值的属性会覆盖先赋值的属性 。

参数说明:

value: 组件的唯一标识,由使用者保证其唯一性。
默认值:空字符串 ''。
示例代码
以下是一个使用ArkTS组件标识属性的示例 :

@Entry
@Component
struct IdExample {
@State text: string = '';

build() {
Flex({
direction: FlexDirection.Column,
alignItems: ItemAlign.Center,
justifyContent: FlexAlign.Center
}) {
Button() {
Text('onKeyTab')
.fontSize(25)
.fontWeight(FontWeight.Bold)
}.margin({
top: 20
})
.backgroundColor('#0D9FFB')
.onKeyEvent(() => {
this.text = "onKeyTab";
});

  Button() {
    Text('click to start')
      .fontSize(25)
      .fontWeight(FontWeight.Bold)
  }.margin({
    top: 20
  })
  .onClick(() => {
    console.info(getInspectorByKey("click"));
    console.info(JSON.stringify(getInspectorTree()));
    this.text = "Button 'click to start' is clicked";
    setTimeout(() => {
      sendEventByKey("longClick", 11, "");
    }, 2000);
  }).id('click');

  Button() {
    Text('longClick')
      .fontSize(25)
      .fontWeight(FontWeight.Bold)
  }.margin({
    top: 20
  })
  .backgroundColor('#0D9FFB')
  .gesture(
    LongPressGesture()
      .onActionEnd(() => {
        console.info('long clicked');
        this.text = "Button 'longClick' is longclicked";
        setTimeout(() => {
          let rect = Utils.getComponentRect('onTouch');
          let touchPoint: TouchObject = {
            id: 1,
            type: TouchType.Down,
            x: rect.left + (rect.right - rect.left) / 2,
            y: rect.top + (rect.bottom - rect.top) / 2,
            screenX: rect.left + (rect.right - rect.left) / 2,
            screenY: rect.left + (rect.right - rect.left) / 2,
            windowX: rect.left + (rect.right - rect.left) / 2,
            windowY: rect.left + (rect.right - rect.left) / 2,
            displayX: rect.left + (rect.right - rect.left) / 2,
            displayY: rect.left + (rect.right - rect.left) / 2,
          }
          sendTouchEvent(touchPoint);
          touchPoint.type = TouchType.Up;
          sendTouchEvent(touchPoint);
        }, 2000);
  })).id('longClick');
}
.width('100%')
.height('100%');

}
}

在这个示例中,我们创建了三个按钮组件,并为它们分别设置了id属性。通过这些id,我们可以在需要时获取这些按钮的属性或向它们发送事件 。

组件标识的用途
组件标识在ArkTS中有多种用途,包括:

获取组件属性:通过getInspectorByKey接口,可以获取指定ID组件的所有属性 。
发送事件:通过sendEventByKey接口,可以向指定ID组件发送事件 。
动态操作:在应用运行时,可以动态地对指定ID的组件进行操作,如更改样式、属性等。
结语
通过本文的介绍,你应该对HarmonyOS 5.0中ArkTS组件的标识有了基本的了解。组件标识是UI开发中的重要工具,合理利用这些属性可以使你的应用开发更加高效和灵活。希望本文能够帮助你在开发过程中更好地利用ArkTS的组件标识属性 。
————————————————

                        版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://blog.csdn.net/lbcyllqj/article/details/143646156

目录
相关文章
|
8天前
|
开发者 容器
鸿蒙应用开发从入门到实战(十四):ArkUI组件Column&Row&线性布局
ArkUI提供了丰富的系统组件,用于制作鸿蒙原生应用APP的UI,本文主要讲解Column和Row组件的使用以及线性布局的方法。
75 12
|
9天前
|
API 数据处理
鸿蒙应用开发从入门到实战(十三):ArkUI组件Slider&Progress
ArkUI提供了丰富的系统组件,用于制作鸿蒙原生应用APP的UI,本文主要讲解滑块Slider和进度条Progress组件的使用。
|
14天前
|
JavaScript 开发者 索引
鸿蒙应用开发从入门到实战(九):ArkTS渲染控制
ArkTS拓展了TypeScript,可以结合ArkUI进行渲染控制,是的界面设计具有可编程性。本文简要描述鸿蒙应用开发中的条件渲染和循环渲染。
|
11天前
|
数据安全/隐私保护 开发者
鸿蒙应用开发从入门到实战(十一):ArkUI组件Text&TextInput
ArkUI提供了丰富的系统组件,用于制作鸿蒙原生应用APP的UI,本文主要讲解文本组件Text和TextInput的使用。
|
9天前
|
API 数据处理
鸿蒙应用开发从入门到实战(十三):ArkUI组件Slider&Progress
ArkUI提供滑块Slider与进度条Progress组件,用于鸿蒙原生APP开发。Slider支持拖动调节音量、亮度等,可设步长、方向及提示气泡;Progress支持线性、环形等多种样式,可自定义颜色、宽度与刻度,实时显示任务进度。
67 2
|
10天前
|
开发者
鸿蒙应用开发从入门到实战(十二):ArkUI组件Button&Toggle
ArkUI提供了丰富的系统组件,用于制作鸿蒙原生应用APP的UI,本文主要讲解按钮组件Button和Toggle的使用。
|
15天前
|
JavaScript
鸿蒙应用开发从入门到实战(八):ArkTS自定义组件语法
ArkUI除系统预置的组件外,还支持自定义组件。使用自定义组件,可使代码的结构更加清晰,并且能提高代码的复用性。
|
12天前
|
存储 编解码 JSON
鸿蒙应用开发从入门到实战(十):ArkUI图片组件Image
ArkUI提供了丰富的系统组件,用于制作鸿蒙原生应用APP的UI,本文主要讲解Image图片组件的使用。
104 1
|
16天前
|
存储 缓存 5G
鸿蒙 HarmonyOS NEXT端云一体化开发-云存储篇
本文介绍用户登录后获取昵称、头像的方法,包括通过云端API和AppStorage两种方式,并实现上传头像至云存储及更新用户信息。同时解决图片缓存问题,添加上传进度提示,支持自动登录判断,提升用户体验。
86 0
|
5天前
|
传感器 监控 安全
HarmonyOS NEXT 5.0 的星闪(NearLink)开发应用案例
V哥分享HarmonyOS NEXT 5.0星闪开发实战,涵盖智能车钥匙无感解锁与工业传感器监控。低延迟、高可靠,代码完整,速来学习!

热门文章

最新文章