一UI前部组件势必更加,我们通常习惯性使用ID获取部件操作的需要。但是,这种方法是extjs推荐么?你有吗extjs利用它来获取组件的推荐方法?

  • 文件夹

    • extjs的查询组件的API
    • 查询实例
      • 主要的组件查询
      • 组件树查询
      • 通过组件的属性检索
      • 属性匹配操作符
      • 逻辑运算的
    • 官方案例

extjs的查询组件的API

组件查询API文档地址:5.1.0-apidocs/#!/api/Ext.ComponentQuery-method-query
能够看到是使用的Ext.ComponentQuery这个单例的query方法来进行查询的。

查询实例

主要的组件查询

  1. 查询xtype组件

    prevField = myField.previousNode('textfield');
    

    这表示查询全部 textfield 以及继承自TextField的组件都会被查询。

    prevTextField = myField.previousNode('textfield(true)');
    

    这表示仅仅查询TextField类的。其它继承类不用去查询。仅仅须要传入true表示严格查询就可以。

  2. ID或者ItemID查找

    #myContainer
    当须要查询ID定义的组件的时候。能够使用#来查询。

  3. xtype和ID或者ItemID组合使用

     panel#myPanel
    

    这样能够尽可能的降低ID带来的冲突,对xtype进行了一次过滤。

组件树查询

看以下一个查询实例:

window[title="Input form"] textfield[name=login] ^ form > button[action=submit]

语句从左到右运行,运行完毕一个,就依照当前找到的那个再接着往下运行。所以这句话的意思是:
找到标题为Iput form的window的叫做login的textfield的父窗口中button的提交名称为submit的那个按钮。

通过组件的属性检索

上述样例就能够看到 当查询title为Input form的window的时候就是使用的组件的属性。

属性匹配操作符

  1. =
    表示严格等于 。
  2. ~=
    表示仅仅要搜索到检索词就可以。
  3. ^=
    表示以什么什么 开头
  4. $=
    表示以什么什么结尾的
  5. /=
    表示支持正則表達式的

逻辑运算的

  1. and逻辑

    Ext.ComponentQuery.query('panel[cls~=my-cls][floating=true][title$="sales data"]');
    

这样的类型的是表示逻辑and

  1. or逻辑

    Ext.ComponentQuery.query('field[fieldLabel^=User], field[fieldLabel*=password]');
    

官方案例

    // retrieve all Ext.Panels in the document by xtypevar panelsArray = Ext.ComponentQuery.query('panel');// retrieve all Ext.Panels within the container with an id myCtvar panelsWithinmyCt = Ext.ComponentQuery.query('#myCt panel');// retrieve all direct children which are Ext.Panels within myCtvar directChildPanel = Ext.ComponentQuery.query('#myCt > panel');// retrieve all grids or treesvar gridsAndTrees = Ext.ComponentQuery.query('gridpanel, treepanel');// Focus first ComponentmyFormPanel.child(':focusable').focus();// Retrieve every odd text field in a formmyFormPanel.query('textfield:nth-child(odd)');// Retrieve every even field in a form, excluding hidden fieldsmyFormPanel.query('field:not(hiddenfield):nth-child(even)');

转载于:https://www.cnblogs.com/gcczhongduan/p/5047996.html

[ExtJS5学习笔记]第三十五条 sencha extjs 5 组件查询方法相关推荐

  1. OpenCV学习笔记(三十六)——Kalman滤波做运动目标跟踪 OpenCV学习笔记(三十七)——实用函数、系统函数、宏core OpenCV学习笔记(三十八)——显示当前FPS OpenC

    OpenCV学习笔记(三十六)--Kalman滤波做运动目标跟踪 kalman滤波大家都很熟悉,其基本思想就是先不考虑输入信号和观测噪声的影响,得到状态变量和输出信号的估计值,再用输出信号的估计误差加 ...

  2. OpenCV学习笔记(三十一)——让demo在他人电脑跑起来 OpenCV学习笔记(三十二)——制作静态库的demo,没有dll也能hold住 OpenCV学习笔记(三十三)——用haar特征训练自己

    OpenCV学习笔记(三十一)--让demo在他人电脑跑起来 这一节的内容感觉比较土鳖.这从来就是一个老生常谈的问题.学MFC的时候就知道这个事情了,那时候记得老师强调多次,如果写的demo想在人家那 ...

  3. 【OS学习笔记】三十九 保护模式十:中断和异常的处理与抢占式多任务对应的汇编代码----动态加载的用户程序/任务一代码

    本文是以下几篇文章对应的动态加载的用户程序/任务一代码: [OS学习笔记]三十四 保护模式十:中断和异常区别 [OS学习笔记]三十五 保护模式十:中断描述符表.中断门和陷阱门 [OS学习笔记]三十六 ...

  4. 【OS学习笔记】三十八 保护模式十:中断和异常的处理与抢占式多任务对应的汇编代码----微型内核汇代码

    本文是以下几篇文章对应的微型内核代码汇编代码: [OS学习笔记]三十四 保护模式十:中断和异常区别 [OS学习笔记]三十五 保护模式十:中断描述符表.中断门和陷阱门 [OS学习笔记]三十六 保护模式十 ...

  5. 【OS学习笔记】三十六 保护模式十:通过中断发起任务切换----中断任务

    上一篇文章学习了:OS学习笔记]三十五 保护模式十:中断描述符表.中断门和陷阱门 本篇文章接着上一篇文章学习中断任务. 我们在前面文章中一直在说通过中断发起任务切换,本文就是将之前没有说明白的内容:通 ...

  6. 【OS学习笔记】三十五 保护模式十:中断描述符表、中断门和陷阱门

    上一篇文章学习了中断与异常的概念:[OS学习笔记]三十四 保护模式十:中断和异常区别 本片文章接着学习以下内容: 中断描述符表 中断门 陷阱门 1 中断描述符表 我们前面讲了无数次,在实模式下,是由位 ...

  7. 【OS学习笔记】三十四 保护模式十:中断和异常区别

    上几篇文章学习了分页机制的一些原理: [OS学习笔记]三十 保护模式九:段页式内存管理机制概述 [OS学习笔记]三十一 保护模式九:页目录.页表和页三者的关系详解 今天继续学习保护模式下的关于中断与异 ...

  8. 【OS学习笔记】三十二 保护模式九:分页机制对应的汇编代码之---内核代码

    本片文章是以下两篇文章: [OS学习笔记]三十 保护模式九:段页式内存管理机制概述 [OS学习笔记]三十一 保护模式九:页目录.页表和页三者的关系详解 对应的内核汇编代码. ;代码清单16-1;文件名 ...

  9. node JS獲取GPS_node学习笔记(三十八)

    一.什么是NodeJS? 1.Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境. 2.Node.js 使用了一个事件驱动.非阻塞式 I/O 的模型,使其轻量又高效 ...

最新文章

  1. 《Cacti实战》——导读
  2. 《我也能做CTO之程序员职业规划》写作过程重播之二
  3. BOW模型在ANN框架下的解释
  4. linux haproxy 脚本,haproxy部署脚本
  5. UIKIT_EXTERN和define定义常量
  6. Hive中排序和聚集
  7. 解决win2003安装exchangeServer后关机慢的方法
  8. Hadoop之Flume详解
  9. js基础--变量、数据类型、循环、判断、函数定义
  10. 安装并配置oracle11g,ORACLE11g 安装于基本配置说明
  11. java 经纬度的距离计算工具包
  12. 城市大数据及开放数据索引
  13. Rosalind第16题——ros_bio16_MPRT
  14. VC 整人程序 修改分区表
  15. Win7 安装.Net 4.7.2 失败
  16. Delphi下实现全屏快速找图找色 四、BitmapData.pas的使用
  17. 社区信息综合管理平台
  18. 【C】 求3个正整数的最小公倍数
  19. 用扩展程序下载油管视频(好用
  20. Android编程实战——仿微信群聊-2——对象的网络传输

热门文章

  1. python工作方法_用python开始一天工作
  2. java list 取前3个_用java 截取字符串,每三个一组
  3. C++ 11 深度学习(三)范围for、new内存动态分配、nullptr
  4. LeetCode 876. 链表的中间结点
  5. HTML设置字体颜色1008无标题,如何在HTML中设置字体颜色,你知道这几种方式吗?...
  6. 傅里叶变换及其应用 pdf_级数的欧拉变换及其应用
  7. 谈谈C语言中的杂项运算符
  8. python读取json数据格式问题_浅谈Python中的异常和JSON读写数据的实现
  9. python 删除csv第一行_python 标准库学习之 csv
  10. vsphere虚拟克隆虚拟服务器,vSphere实战攻略2:虚拟机模板与克隆