鸿蒙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

目录
相关文章
|
3月前
|
监控 JavaScript 编译器
从“天书”到源码:HarmonyOS NEXT 崩溃堆栈解析实战指南
本文详解如何利用 hiAppEvent 监控并获取 sourcemap、debug so 等核心产物,剖析了 hstack 工具如何将混淆的 Native 与 ArkTS 堆栈还原为源码,助力开发者掌握异常分析方法,提升应用稳定性。
549 58
|
4月前
|
开发者 容器
鸿蒙应用开发从入门到实战(十四):ArkUI组件Column&Row&线性布局
ArkUI提供了丰富的系统组件,用于制作鸿蒙原生应用APP的UI,本文主要讲解Column和Row组件的使用以及线性布局的方法。
410 12
|
3月前
|
移动开发 前端开发 Android开发
【02】建立各项目录和页面标准化产品-vue+vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡
【02】建立各项目录和页面标准化产品-vue+vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡
390 12
【02】建立各项目录和页面标准化产品-vue+vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡
|
3月前
|
移动开发 JavaScript 应用服务中间件
【06】优化完善落地页样式内容-精度优化-vue加vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡
【06】优化完善落地页样式内容-精度优化-vue加vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡
389 5
【06】优化完善落地页样式内容-精度优化-vue加vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡
|
3月前
|
移动开发 Rust JavaScript
【01】首页建立-vue+vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡
【01】首页建立-vue+vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡
854 4
【01】首页建立-vue+vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡
|
3月前
|
移动开发 Android开发
【03】建立隐私关于等相关页面和内容-vue+vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡
【03】建立隐私关于等相关页面和内容-vue+vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡
221 0
|
4月前
|
传感器 监控 安全
HarmonyOS NEXT 5.0 的星闪(NearLink)开发应用案例
V哥分享HarmonyOS NEXT 5.0星闪开发实战,涵盖智能车钥匙无感解锁与工业传感器监控。低延迟、高可靠,代码完整,速来学习!
717 0
HarmonyOS实战—组件的外边距和内边距
HarmonyOS实战—组件的外边距和内边距
555 1
HarmonyOS实战—组件的外边距和内边距
|
7月前
|
容器
HarmonyOS NEXT仓颉开发语言实战案例:外卖App
仓颉语言实战分享,教你如何用仓颉开发外卖App界面。内容包括页面布局、导航栏自定义、搜索框实现、列表模块构建等,附完整代码示例。轻松掌握Scroll、List等组件使用技巧,提升HarmonyOS应用开发能力。
|
6月前
|
安全 JavaScript API
鸿蒙开发核心要素
鸿蒙开发核心要素

热门文章

最新文章