How to search for a child in a panel in ExtJs

hop picture hop · Feb 6, 2012 · Viewed 17.9k times · Source

How can I find if a particular child (item) exists in a panel using the id of the child.

Say I have a parent paned (id = parentPanel) and few panels as items of this parent panel. Now, I would like to search if a panel by id 'childPanel09' is a child of parent panel.

[Possibly without using iteration]

Note: I am using ExtJs 3.4

Answer

Molecular Man picture Molecular Man · Feb 6, 2012

If you want to search only among direct childs of parentPanel you can use getComponent:

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

If you want to search not only among direct childs but at any layer under the parentPanel you can use find:

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