Ext.getCmp 在 extjs 中不起作用

Posted

技术标签:

【中文标题】Ext.getCmp 在 extjs 中不起作用【英文标题】:Ext.getCmp not working in extjs 【发布时间】:2012-07-13 15:27:01 【问题描述】:

我正在使用 Ext.getCmp 在选项卡面板中查找一个 extjs 组件。有时它无法正常返回未定义。

var currComp = Ext.getCmp('myId'); //Id is generated by me on creation

还有其他方法吗?如果我知道它的 id 来查找一个组件?

【问题讨论】:

这几乎是查找已渲染组件的方法。如果有时它不起作用,可能是对这一行的调用太早了(在渲染组件之前。为了解决这个问题,如果你展示你的视图是如何创建的(myId)和你什么时候打电话给Ext.getCmp 【参考方案1】:

如果您知道父控件,则可以使用 getComponent 方法。

getComponent - 检查此容器的 items 属性并获取此容器的直接子组件。

 var compont = parentControl.getComponent('yourId');

http://docs.sencha.com/ext-js/4-1/#!/api/Ext.container.AbstractContainer-method-getComponent

在创建时也尝试设置 itemId

【讨论】:

以上是关于Ext.getCmp 在 extjs 中不起作用的主要内容,如果未能解决你的问题,请参考以下文章

Javascript/ExtJS:Ext.getCmp('') 导致 TypeError ...不是函数

如何在 Extjs 4 标签上添加点击事件

extjs怎么让一个组件禁用?

如何在 extjs 3.2 中使用 addCls()

Extjs4中,getCmp 和 getComponent的区别是什么呢

ExtJs:无法在表单中显示字段