【问题标题】:How to search for a child in a panel in ExtJs如何在 ExtJs 的面板中搜索孩子
【发布时间】:2012-02-06 10:19:07
【问题描述】:

如何使用子项的 id 查找特定子项(项目)是否存在于面板中。

假设我有一个父面板 (id = parentPanel) 和几个面板作为这个父面板的项目。现在,我想搜索 id 为“childPanel09”的面板是否是父面板的子面板。

[可能不使用迭代]

注意:我使用的是 ExtJs 3.4

【问题讨论】:

    标签: javascript extjs extjs3


    【解决方案1】:

    如果您只想在 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');
    }
    

    【讨论】:

    • 谢谢哥们。虽然我的问题有点不同,但你的回答解决了。
    【解决方案2】:

    Ext.Container.find()(来自已接受的答案)很好as of ExtJS 3.4(这是问题所问的)。然而,在 ExtJS 4.0 及更高版本中,find() 被删除,取而代之的是 Ext.Container.query(),它完成了同样的事情。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-01-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-21
      • 2012-06-06
      • 1970-01-01
      相关资源
      最近更新 更多