Проблема с вашим кодом заключается в том, что вы указываете фиксированную ширину для панели c2:
var c1 = new Ext.Panel({
region: "center",
});
var c2 = new Ext.Panel({
region: "east",
width: 400,
split: true
});
И это делает вашу панель c1 потерянной при скрытии из-за ее свойства region.
Когда вы работаете с регионом, вы обычно не устанавливаете фиксированную ширину.Это решит вашу проблему:
var c1 = new Ext.Panel({
region: "center",
});
var c2 = new Ext.Panel({
region: "east",
width: "100%",
split: true
});
Теперь вы можете попробовать либо c1.hide();
, либо c2.hide()
, и компоненты будут работать так, как ожидалось.