Extjs Sencha Touch:使用ComponentQuery()和down()搜索具有类的组件
我有一个问题,不知道这是一个错误还是我误解了什么。我想搜索具有特定类的组件。例如:Extjs Sencha Touch:使用ComponentQuery()和down()搜索具有类的组件,extjs,sencha-touch,Extjs,Sencha Touch,我有一个问题,不知道这是一个错误还是我误解了什么。我想搜索具有特定类的组件。例如: Ext.define('Test', { xtype: 'Test', cls: ['cat', 'dog'] }); 我想找到我用this.down('Test[cls~=cat]')在Ext.Container中创建的这个组件(因为该组件有多个类)。但是我得到了未定义的或空的(不再知道了) 使用Ext.ComponentQuery.query('Test[cls~=cat]')我实际上可以找到它 为
Ext.define('Test', {
xtype: 'Test',
cls: ['cat', 'dog']
});
我想找到我用this.down('Test[cls~=cat]')
在Ext.Container
中创建的这个组件(因为该组件有多个类)。但是我得到了未定义的
或空的
(不再知道了)
使用Ext.ComponentQuery.query('Test[cls~=cat]')
我实际上可以找到它
为什么呢?我认为down()
与Ext.ComponentQuery.query
相同,不同之处在于它的搜索范围不是全局的
我正在使用Sencha Touch的当前版本。不,这不起作用。但是你可以用
this.query('Test[cls~=cat]')
或者你用这样的东西:
Ext.ComponentQuery.pseudos.hasCls = function(items, cls) {
var i = 0, l = items.length, c, result = [];
for (; i < l; i++) {
var c = items[i];
if (c._cls && c._cls.indexOf(cls) > -1) {
return c;
}
}
return undefined;
};
this.down(".component:hasCls(cat)")