【发布时间】:2012-02-06 10:19:07
【问题描述】:
如何使用子项的 id 查找特定子项(项目)是否存在于面板中。
假设我有一个父面板 (id = parentPanel) 和几个面板作为这个父面板的项目。现在,我想搜索 id 为“childPanel09”的面板是否是父面板的子面板。
[可能不使用迭代]
注意:我使用的是 ExtJs 3.4
【问题讨论】:
标签: javascript extjs extjs3
如何使用子项的 id 查找特定子项(项目)是否存在于面板中。
假设我有一个父面板 (id = parentPanel) 和几个面板作为这个父面板的项目。现在,我想搜索 id 为“childPanel09”的面板是否是父面板的子面板。
[可能不使用迭代]
注意:我使用的是 ExtJs 3.4
【问题讨论】:
标签: javascript extjs extjs3
如果您只想在 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(),它完成了同样的事情。
【讨论】: