2016-07-28 17 views
0

zerstören Ich habe ein Rahmenlayout, in dem Westseite wenige Knöpfe haben. Wenn Sie auf die Schaltflächen klicken, werden einige Felder im mittleren Bereich angezeigt. Hier ist ein Beispielcode für das eine Panel, das im zentralen Panel angezeigt wird.Wie man ein Panel in extjs

Jetzt habe ich ein Buton namens Einstellung, die ein Fenster öffnen. Fenster mit einigen Kontrollkästchen. Darin habe ich eine Checkbox namens Legends. Ich möchte, wenn ich auf Kontrollkästchen Legenden klicken, dann von oben Bedienfeld showLegends: true.Wenn showLegends wahr ist, wird es ein Legendpanel erstellen und bei false möchte ich dieses Panel zu zerstören.

ShowLegends: true

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

Wie kann ich zerstöre diese Platte, wenn Showlegends durch die Beantwortung dieser false.Please Hilfe ist !!

Antwort

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. 
 
}

+0

Hallo, es zeigt Fehler als legendPanel ist nicht definiert. – Megha

+0

1) if (Ext.isdefined (legendPanel)) 2) LegendePanel-Referenz im übergeordneten oder globalen Bereich beibehalten. – tsb

1

hoffe, das hilft, Ext.getCmp (id) gibt Ihnen das Objekt mit einer bekannten id, in Ihrem Fall myPanel1

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