如何在ExtJs中的面板中搜索子项

时间:2012-02-06 10:19:07

标签: javascript extjs extjs3

如何使用孩子的ID查找特定孩子(项目)是否存在于面板中。

假设我有一个父窗格(id = parentPanel)和几个面板作为此父面板的项目。现在,我想搜索id为'childPanel09'的小组是否是父小组的孩子。

[可能没有使用迭代]

注意:我正在使用ExtJs 3.4

2 个答案:

答案 0 :(得分:11)

如果您只想在parentPanel的直接子项中搜索,可以使用getComponent

var childPanel = Ext.getCmp('parentPanel').getComponent('childPanel09');
if (childPanel) {
  alert('yes. child exists');
}

如果您不仅要搜索直接子项,而且要搜索父面板下的任何图层,您可以使用find

var childPanel = Ext.getCmp('parentPanel').find('id', 'childPanel09')[0]; // [0] because find returns array
if (childPanel) {
  alert('yes. child exists');
}

答案 1 :(得分:2)

Ext.Container.find()(来自接受的答案)很好as of ExtJS 3.4(问题就是这个问题)。但是,在ExtJS 4.0及更高版本中,find()被删除,转而使用Ext.Container.query(),这完成了同样的事情。