如何使用兒童的id找到某個特定的兒童(項目)是否存在於面板中。如何在ExtJs的面板中搜索兒童
假設我有一個父窗格(id = parentPanel
)和少數面板作爲此父面板的項目。現在,我想搜索一個按ID「childPanel09
」的面板是否爲父面板的子面板。
[可能不使用迭代]
注:我使用ExtJS的3.4
如何使用兒童的id找到某個特定的兒童(項目)是否存在於面板中。如何在ExtJs的面板中搜索兒童
假設我有一個父窗格(id = parentPanel
)和少數面板作爲此父面板的項目。現在,我想搜索一個按ID「childPanel09
」的面板是否爲父面板的子面板。
[可能不使用迭代]
注:我使用ExtJS的3.4
如果只想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');
}
Ext.Container.find()
(來自公認的答案)很好as of ExtJS 3.4(這就是問到的問題)。但是,在ExtJS 4.0及更高版本中,find()
已被刪除,轉而支持Ext.Container.query(),它完成了相同的操作。
謝謝你。雖然我的問題有點不同,但你的答案解決了它。 – 2013-06-11 12:34:56