ExtJS / Sencha Touch 2 - 如何获取具有多个类的元素/组件

时间:2012-07-27 10:40:58

标签: sencha-touch extjs sencha-touch-2

我不确定自己是否会发疯。我在Kitchen水槽上测试了这个,所以不仅仅是我。

我试过了:

Ext.ComponentQuery.query('container[cls="blah"]');
Ext.ComponentQuery.query('container[cls~="blah"]');

但是在有了第二堂课之后,你似乎无法通过它所拥有的课来获得某些东西。

我错过了什么或者这不可能吗?

如果你转到http://dev.sencha.com/deploy/touch/e.../#demo/buttons

Ext.ComponentQuery.query('button')[0];
// returns element
Ext.ComponentQuery.query('button')[0].addCls('meep');
Ext.ComponentQuery.query('button[cls="meep"')[0];
// returns element
Ext.ComponentQuery.query('button')[0].addCls('blah');
Ext.ComponentQuery.query('button[cls="meep"')[0];
// returns undefined
Ext.ComponentQuery.query('button[cls~="meep"')[0];
// returns undefined

1 个答案:

答案 0 :(得分:2)

由于我的期望以及文档如何使用他们的DomQuery,我认为上述内容应该有效,但是会被窃听。

我通过创建一个新的xtype并在ComponentQuery中使用它来解决这个问题,如下所示:

Ext.define('App.view.Deposit', {
    extend: 'Ext.Container'
});

Ext.ComponentQuery('meep');

我想我试图像你在jQuery中那样去做,添加一个类并使用它来检索它,但是使用Component的东西会让人感到困惑。

我认为这应该有效,但它没有(在2.0.1.1,2.1.0b3中测试):

Ext.ComponentQuery.query('button[cls*="meep"')[0];