2012-02-06 11 views
7

子供のIDを使用して特定の子供(アイテム)がパネル内に存在するかどうかを見つける方法を教えてください。ExtJs内のパネル内の子供を検索する方法

私はこの親パネルの項目として親パネル(id = parentPanel)といくつかのパネルを持っています。ここでは、ID「childPanel09」のパネルが親パネルの子パネルであるかどうかを検索したいと思います。 [おそらく反復を使用しない]

注:私はあなただけparentPanelの直接のチャイルズの間で検索したい場合は、getComponentを使用することができますExtJSの3.4

答えて

11

を使用しています:

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

ありがとうございます。私の問題は少し異なりましたが、あなたの答えはそれを解決しました。 –

2

Ext.Container.find()(受け入れられた回答から)は、as of ExtJS 3.4(これは質問の質問です)です。しかし、ExtJS 4.0以降では、find()が削除されて、Ext.Container.query()が優先され、同じことが達成されました。