Ext.ComponentQuery.query()
转载:http://blog.csdn.net/jiushuai/article/details/7938476
用来找特点的所有容器(Ext.container.Container)或是通过Ext.ComponentManager找特定的所有组件
1.当找组件的时候,相当于调用Ext.ComponentQuery.query()
可以接收的参数有
1)xtype
//找xypte为panel的所有组件
var panelsArray = Ext.ComponentQuery.query('panel');
2)组件的itemId或id的属性值
找所有id为myct的panel组件,注意空格表示与操作(&&)
var panelsWithinmyCt = Ext.ComponentQuery.query('#myCt panel');
注:>表示直接,豆表示或操作
//表示id为myct的直接子元素中panel的组件
var directChildPanel = Ext.ComponentQuery.query('#myCt > panel');
//表示gridpanel与treepanel组件
var gridsAndTrees = Ext.ComponentQuery.query('gridpanel, treepanel');
3)根据属性查找
//表示如果组件有autoScroll属性,那么它就被先中了
var panelsWithinmyCt = Ext.ComponentQuery.query('component[autoScroll]');
var panelsWithinmyCt = Ext.ComponentQuery.query('panel[title="Test"]');
panel[title="Test"]
4)根据组件的一些表达式式的属性,如果表达式的返回值为true,那么对应的组件就被先中
//如果组件的调用isDisabled()为true的话,那么此组件就被选中
var disabledFields = myFormPanel.query("{isDisabled()}");
5)伪类选择器(Pseudo classes)
默认包含的有not,last,
//表示在document中找最后的panel组件
var panelsArray = Ext.ComponentQuery.query('panel:last');
//自定义的
Ext.ComponentQuery.pseudos.invalid = function(items) {
    var i = 0, l = items.length, c, result = [];
    for (; i < l; i++) {
        if (!(c = items[i]).isValid()) {
            result.push(c);
        }
    }
    return result;
};
var invalidFields = myFormPanel.query('field:invalid');
if (invalidFields.length) {
    invalidFields[0].getEl().scrollIntoView(myFormPanel.body);
    for (var i = 0, l = invalidFields.length; i < l; i++) {
        invalidFields[i].getEl().frame("red");
    }
}
2.查找容器的时候
可以用Ext.container.Container.query().此方法其实是以container为根元素调用Ext.ComponentQuery.query
Ext.container.Container.down
Ext.container.Container.child
Ext.Component.up.
Ext.ComponentQuery.query()的更多相关文章
- Extjs4.x (MVC)Controller中refs以及Ext.ComponentQuery解析
		
refs : Object[]5 Array of configs to build up references to views on page. For example: Ext.define(& ...
 - sencha touch 组件选择器getCmp和ComponentQuery.query()的效率解析
		
昨天无意中在网上看到一篇讲解sencha touch组件选择器的文章,名为 Sencha touch 2通过Ext.ComponentQuery.query查找组件. 里面对组件选择器的效率讲解完全反 ...
 - Ext JS 如何动态加载JavaScript创建窗体
		
JavaScript不需要编译即可运行,这让JavaScript构建的应用程序可以变得很灵活.我们可以根据需要动态从服务器加载JavaScript脚本来创建和控制UI来与用户交互.下面结合Ext JS ...
 - Ext小总结
		
titleCollapse:true,//高级搜索点击隐藏显示 添加按钮 >弹出页面 1.添加按钮 //核销 在控制层页面添加页面路径>添加操作按钮>window.allOrder ...
 - ExtJS学习之路第二步:Ext.Component 和 Ext.dom.Element 的区别
		
让我们来初步的探讨下Ext.Component和Ext.Element的区别. jQuery偏重于DOM元素的操作 1.每一个HTML页面都有一个层次分明的DOM树模型,浏览器中的所有内容都有相应的D ...
 - 【翻译】十大要避免的Ext JS开发方法
		
原文地址:http://www.sencha.com/blog/top-10-ext-js-development-practices-to-avoid/ 作者:Sean Lanktree Sean ...
 - 【翻译】在Ext JS集成第三方库
		
原文地址:http://www.sencha.com/blog/integrating-ext-js-with-3rd-party-libraries/ 作者:Kevin Kazmierczak Ke ...
 - ext组件的查询方式
		
1.使用id进行查询 (1)Ext.ComponentQuery.query("#mypanel") (2)Ext.getCmp("mypanel") 2.根据 ...
 - 整合 Ext JS 和第三方类库
		
介绍 ExtJS提供了许多高度可定制化内置组件.如果它不在框架(framework)里面,你可以很容易的扩展这些类,或者浏览Sencha市场(Sencha Market) 寻找你可能需要的任何东西.那 ...
 
随机推荐
- Maximum Submatrix 2
			
Codeforces Round #221 (Div. 1) B:http://codeforces.com/problemset/problem/375/B 题意:给你一个n*m的0,1矩阵,你可以 ...
 - MySQL表损坏预防与修复
			
1. 表损坏的原因分析 以下原因是导致mysql 表毁坏的常见原因: 1. 服务器突然断电导致数据文件损坏. 2. 强制关机,没有先关闭mysql 服务. 3. mysqld 进程在写表时 ...
 - windows7+iis7+php的配置
			
最近在找工作,人被逼了,所以没事就学习php了.以下是开发环境的搭建: 环境搭建 然后就是解析php脚本的两种配置方法: fastCgiModule与ISAPI方式 两种配置方法 本文为转载...
 - 【HDOJ】3459 Rubik 2×2×2
			
模拟+DFS. /* 3459 */ #include <cstdio> #include <cstring> #include <cstdlib> #define ...
 - 【HDOJ】1818 It's not a Bug, It's a Feature!
			
状态压缩+优先级bfs. /* 1818 */ #include <iostream> #include <queue> #include <cstdio> #in ...
 - bzoj2502
			
学到很多知识的一道题目一开始读错题,后来发现是每条边必须至少访问一次明显是一个有下界的最小流首先是我自己脑补的比较渣的算法,可以无视:对于有下界的最小流,我不会做,但是我会做有下界的费用流,而且注意这 ...
 - COJ 2108 Day7-例1
			
Day7-例1 难度级别:B: 运行时间限制:1000ms: 运行空间限制:256000KB: 代码长度限制:2000000B 试题描述 在计算机中,CPU只能和高速缓存Cache直接交换数据.当 ...
 - 从JavaScript的移位运算看数字在计算机内部的编码——补码
			
偶然看到一个JavaScript的题目: js中13>>2=? -13>>2=? 在浏览器中很容易测试出答案分别是 3 和 -4. 13>>2 = 3 很 ...
 - HDOJ 2014  青年歌手大奖赛_评委会打分
			
Problem Description 青年歌手大奖赛中,评委会给参赛选手打分.选手得分规则为去掉一个最高分和一个最低分,然后计算平均得分,请编程输出某选手的得分. Input 输入数据有多组,每组占 ...
 - 第k大值01背包问题
			
http://acm.hdu.edu.cn/showproblem.php?pid=2639 /* 第一行输入t 代表t组测试数据 第二行 输入物品个数 背包容量 要求的第k大值 物品的价值 物品的重 ...