如何在extjs中销毁Panel

时间:2016-07-28 10:30:34

标签: javascript extjs panel

我有一个边框布局,其中西侧有几个按钮。点击按钮,中央面板中将显示几个面板。以下是在中央面板中显示的一个面板的示例代码。

{
    xtype: 'myPanel', //  User define panel
    itemId: 'myPanel1',
    showZoom: false,
    showLegends:false,
    showSlider: false,
    showDataGrid: true,
    chartType: 'line',
    controlPanel:false,
    orientation: 'x'
}

现在我有一个叫做设置的开启一个窗口。窗口有一些复选框。在那里,我有一个名为Legends的复选框。我想点击复选框图例,然后从上面的面板showLegends:true.当showLegends为true时,它将创建一个legendpanel,如果我想要销毁该面板。

  

ShowLegends:真

 if (me.showLegends) {
 legendPanel = Ext.create('Igo.panel.LegendsPanel', {
     itemId: graphConfig.itemId + 'legends',
     graphId: graphConfig.itemId
 });
 }
 cPanel.add(gPanel);

当Showlegends为假时,我怎么能破坏这个面板。请回答这个问题!!

2 个答案:

答案 0 :(得分:1)

希望这有帮助,Ext.getCmp(id)为您提供具有已知id的对象,在您的情况下为myPanel1

if (me.showLegends) {
  legendPanel = Ext.create('Igo.panel.LegendsPanel', {
  itemId: graphConfig.itemId + 'legends',
  graphId: graphConfig.itemId
  });
}else{
  Ext.getCmp("myPanel1").destroy()
}

答案 1 :(得分:0)

if (me.showLegends) {
 legendPanel = Ext.create('Igo.panel.LegendsPanel', {
     itemId: graphConfig.itemId + 'legends',
     graphId: graphConfig.itemId
 });
 }
else
{
  if(legendPanel)
   parentnode.remove(legendPanel,true); //ParentNode is parent component of legentPanel, second argument oprional.
}