私の状況とそれをどのように解決したかを公開します。
アイコン付きの TabPanel があります。これらのタブの 1 つに、アイテムのリストが表示されます。項目をクリックすると、その説明を示す新しいパネルが表示されます。[戻る] ボタンをクリックすると、そのパネルが破棄され、リストに戻ります。このようにして、現在使用されていない「説明」パネルを破棄します。
だから私がしたことは、クリックされたアイテムのインデックスに応じて説明パネルをインスタンス化する関数を作成することでした:
function project(i) {
var v;
switch(i) {
case 0:
v = Ext.create( 'Ext.Panel', {
title: 'title',
layout: { type: 'fit' },
id: 'project0',
iconCls: '',
style: '',
html: 'my html'
});
break;
}
return v;
}
さて、リストの「itemtap」イベントには次のものがあります。
var lastItem = container.add(project(i));
itemsList.hide(); //hide the List and display only the new Panel in the container
ここで、前のビュー (つまりリスト) に戻るためのボタンがヘッダーにあり、これはそのボタンの「タップ」イベントです。
container.remove(lastItem, true); //hide and destroy it
itemList.show(); //show the List again
したがって、リスト項目と説明項目 (パネル) の間を行き来しても、クリックするたびに新しいインスタンスを取得し、戻ったときに同様に破棄されるため、問題はありません。
それは私の問題を解決しました。