如何在ExtJs中搜索面板中的子元素

7

如何通过子项的id在面板中查找特定子项是否存在。

假设我有一个父面板(id = parentPanel)和一些作为其子项的面板。现在,我想要查找id为'childPanel09'的面板是否是父面板的子项。

[可能不使用迭代]

注意:我正在使用ExtJs 3.4。

2个回答

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

谢谢你。虽然我的问题有点不同,但是你的答案解决了它。 - Raza Ahmed

2
Ext.Container.find() (来自被接受的答案)在 ExtJS 3.4 版本中是可以使用的(这也是问题所询问的版本)。然而,在 ExtJS 4.0 及以上版本中,find()Ext.Container.query() 所取代,它们实现了相同的功能。请注意保留 HTML 标签。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接