HarmonyOS 通过getInspectorByKey获取指定元素高宽等属性

news/2025/2/23 16:09:53

例如 这里 我们有这样一个组件

@Entry
@Component
struct Dom {

  build() {
    Column() {
      Row() {
        Circle({ width: 200, height: 200 })
          .fill('#20101010')
      }
      .id('ES')
    }
    .width('100%')
    .height('100%')
  }
}

这里 我们就写了个很基本的组件结构
然后 我们写了个 Circle 组件 定义了宽高
然后 如果我们希望在逻辑代码中获取它的宽高
可以这样写

@Entry
@Component
struct Dom {

  build() {
    Column() {
      Row() {
        Circle({ width: 200, height: 200 })
          .fill('#20101010')
      }
      .id('ES')

      Button("获取").onClick(()=>{
        let jsonStr = getInspectorByKey('ES')
        let data = JSON.parse(jsonStr)
        let attr = data.$attrs
        let size = attr.size
        console.info('------>parent:'+size.width+'---'+size.height)
      })
    }
    .width('100%')
    .height('100%')
  }
}

简单说 就是 定义了一个 button按钮 点击事件中 通过getInspectorByKey 获取了 id为ES的元素
然后 我们就会获得一个字符串类型的json串
然后 我们转成真json 里面就可以拿到 size 尺寸属性集合
我们点击按钮
在这里插入图片描述
这里 就获取到了 元素同单位


http://www.niftyadmin.cn/n/5376064.html

相关文章

大模型评测和强化学习知识

1 大模型怎么评测? 大语言模型的评测通常涉及以下几个方面: 语法和流畅度:评估模型生成的文本是否符合语法规则,并且是否流畅自然。这可以通过人工评估或自动评估指标如困惑度(perplexity)来衡量。 语义准…

Java学习第十三节之数组的定义和数组声明创建

数组的定义 数组声明创建 package array;public class ArrayDemo01 {//变量的类型 变量的名字 变量的值//数组类型public static void main(String[] args) {int[] nums;//1.声明一个数组nums new int[10];//2.创建一个数组int[] nums2 new int[10];//声明和创建数组一块…

【C语言】数据结构#实现堆

目录 (一)堆 (1)堆区与数据结构的堆 (二)头文件 (三)功能实现 (1)堆的初始化 (2)堆的销毁 (3)插入数据 …

34 张图详解网络设备知识

网络其实很简单,就是一堆设备连接在一起,然后在上面跑各种网络协议,实现设备之间的网络互通。其中第一步便是把所有设备按照一定的规则连接起来。这些设备可能是路由器、交换机、防火墙等网络设备,也可能是服务器、电脑、手机等需…

训练深度学习模型的过程

深度学习的训练过程是指通过大量的数据来调整神经网络的参数,以使其能够对输入数据进行准确的预测或分类. 训练神经网络的步骤 损失函数(Loss Function)是一个性能指标,反映神经网络生成接近期望值的值的程度。 损失函数直观上就…

19 删除链表的倒数第 N 个结点

19. 删除链表的倒数第 N 个结点 中等 相关标签 相关企业 提示 给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。 这段代码使用了双指针的方法,其中一个指针先走 n 步,然后两个指针一起走,直到第一…

去除vue自带的边距

使用vue时发现总有去不掉的外边距&#xff0c;在index.vue里面怎样设置样式都不管用 查阅资料后发现要在vue项目自带的index.html文件内添加下面的样式代码才行 <style>*{margin: 0;padding: 0;}body,html{margin: 0;padding: 0;} </style>

C语言--------数据在内存中的存储

1.整数在内存中的存储 整数在内存是以补码的形式存在的&#xff1b; 整型家族包括char,int ,long long,short类型&#xff1b; 因为char类型是以ASCII值形式存在&#xff0c;所以也是整形家族&#xff1b; 这四种都包括signed,unsigned两种&#xff0c;即有符号和无符号&am…