简体   繁体   中英

How to search for a child in a panel in ExtJs

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

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');
}

Ext.Container.find() (from the accepted answer) is fine as of ExtJS 3.4 (which is what the question asked about). However, in ExtJS 4.0 and above, find() was removed in favour of Ext.Container.query() , which accomplishes the same thing.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM