我是Extjs的新手。我试图破坏我的组件。
为实现此目的,我尝试使用getCmp
方法传递我的组件名称。我不确定如何传递id。
这是我的component id
-
Ext.tab.Panel{itemId: "sportsSeenTabPanels", id:"panel-117"}
在下面提供我的代码
if (ball.Desktop.isConfigured()) {
ball.Desktop.onMainContentDestroy(function() {
Ext.getCmp('id').destroy();
});
}
以下是我收到的错误 -
未捕获的TypeError:无法读取未定义的属性'destroy'
答案 0 :(得分:1)
如果您制作这样的组件/面板:
Ext.create('Ext.panel',{
title :'panel Parent',
id :'parentID',
items :[
{
xtype :'panel',
title :'child panel',
id :'childID',
itemId : 'childItemID'
}]
});
您可以使用以下方式选择组件:
Ext.getCmp('childID')
或Ext.getCmp('parentID').down('#childItemID');
答案 1 :(得分:0)
正如S Rifai建议的那样,你应该为你的组件使用相对较新的EXT JS语法(在版本4,5和6中引入)而不是EXT JS 3语法。
尽管如此Ext.getCmp('myComponentId').destroy();
仍有效。您在此行的代码中输了一个拼写错误:
Ext.getCmp('id').destroy();
'id'
是代码的名称,请将其替换为其值:'panel-117'
Ext.getCmp('panel-117').destroy();