Концепция : рассмотрите возможность использования двух панелей A
и B
и окна C
, как в следующем примере.Кнопки в окне переключаются между двумя панелями.
var A = new Ext.Panel({
title: 'A'
});
var B = new Ext.Panel({
title: 'B'
});
var C = new Ext.Window({
layout: 'fit',
width: 300,
height: 300,
items: A,
buttons: [
{
text: 'Switch to A',
handler: function() {
C.removeAll(false);
C.add(A);
C.doLayout();
}
}, {
text: 'Switch to B',
handler: function() {
C.removeAll(false);
C.add(B);
C.doLayout();
}
}]
});
C.show();
Концепция очень проста: добавьте компонент, удалите его и снова добавьте тот же экземпляр.
Проблема : Переключение с A на B работает, но возврат к A не работает (B остается и A снова не отображается).
Вопрос : Думаю, ООП, я ожидаювышеуказанная концепция для работы.Так как это не тот случай, и это очень простой маневр, как мне думать / созерцать / дизайн , когда я пытаюсь это сделать?
Я понимаю, что могут быть разные случаи при рассмотрении FormPanel в сравнении с другими макетами / компонентами - но должен быть общий и правильный способдля этого:)