2012-02-06 65 views
7

如何使用兒童的id找到某個特定的兒童(項目)是否存在於面板中。如何在ExtJs的面板中搜索兒童

假設我有一個父窗格(id = parentPanel)和少數面板作爲此父面板的項目。現在,我想搜索一個按ID「childPanel09」的面板是否爲父面板的子面板。

[可能不使用迭代]

注:我使用ExtJS的3.4

回答

11

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

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

如果您不僅要搜索直接的孩子,而且還要搜索parentPanel下的任何圖層,您可以使用find

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

謝謝你。雖然我的問題有點不同,但你的答案解決了它。 – 2013-06-11 12:34:56

2

Ext.Container.find()(來自公認的答案)很好as of ExtJS 3.4(這就是問到的問題)。但是,在ExtJS 4.0及更高版本中,find()已被刪除,轉而支持Ext.Container.query(),它完成了相同的操作。