コンセプト: 次の例のように、2 つのパネル A
とB
、およびウィンドウ C
があるとします。ウィンドウ上のボタンは、2 つのパネルを切り替えます。
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と他のレイアウト/コンポーネントを検討する場合、さまざまなケースがあることを理解していますが、これを行うには一般的で正しい方法が必要です:)