Extjs 如何通过名称获取组件的对象?
我的观点是:Extjs 如何通过名称获取组件的对象?,extjs,Extjs,我的观点是: tbar: [ { iconCls:'icon-p', hidden: true, name:'p', handler:'onPClick' }, { xtype: 'tbfill' }, { iconCls:'icon-n', hidd
tbar: [
{
iconCls:'icon-p',
hidden: true,
name:'p',
handler:'onPClick'
},
{
xtype: 'tbfill'
},
{
iconCls:'icon-n',
hidden:true,
name: 'n',
handler:'onNClick'
}
],
initComponent: function(){
Ext.apply(this, {
layout: 'fit',
items: [
{
xtype:'textareafield',
name: 'name_content'
}
]
});
this.callParent();
}
OnPClick我正在做form.up'id.getForm
如何通过名称获取icon-p的对象显示我可以隐藏或显示该图标。您可以为该项目分配一个id,并使用Ext.getCmp'id'引用它
{
iconCls:'icon-p',
hidden: true,
name:'p',
handler:'onPClick',
id: 'p_id'
},
表现出来
Ext.getCmp('p_id').show();
隐藏它
Ext.getCmp('p_id').hide();
我听人说给物品分配“id”可能效率低下,不知道为什么?但这是一个很好的方法来测试你想要完成什么。也许您可以找到更好的方法,但这应该会起作用。在onPClick处理程序中,您可以在第一个参数中获得对组件的引用。 在控制器中的某个地方,您具有处理函数
onPClick : function(icon-p-object){
// do some stuff with the icon-p-object
}
当您为icon-n对象分配itemId时,您可以在
在onPClick处理程序中执行以下操作
var parentComponent = icon-p-object.up(); // now we have the reference to the parent container
var icon-n-Component = parentComponent.down('#icon-n'); // and with that we can get the other reference of the child element
完整的代码应该是
onPClick : function(icon-p-object){
var parentComponent = icon-p-object.up();
var icon-n-Component = parentComponent.down('#icon-n');
// do some stuff with the icon-n object
}
您是否正在尝试从onPClick处理程序中访问icon-p对象?按id查找只是一个映射操作,因此很便宜。建议不要使用ID的原因是,一旦你的应用增长到任何合理的大小,它就会变得复杂。当您开始创建上面面板的多个实例时会发生什么情况?onPClick我可以获取icon-n对象吗?原因是我想隐藏/显示下一个上一个图标?icon-n-Component返回null,因为我没有为下一个图标设置id,也不想向其添加id。我们可以通过iconCls获取此对象吗?为什么您不想为其设置itemId图标-n组件?同一iconId可以在不同的容器中多次使用以标识组件。如果包含视图被多个视图调用,它将给出重复的Id错误。使用itemId后,其工作正常,因为其范围在类内。谢谢你的解决方案