概念:考虑有两个面板 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 不再显示)。
问题:考虑 OOP,我希望上述概念能够奏效。由于情况并非如此,而且这是一个非常基本的操作,当我尝试这样做时,我应该如何思考/思考/设计?
我知道在考虑FormPanel与其他布局/组件时可能会有不同的情况- 但必须有一个通用且正确的方法来做到这一点:)