私は今ではこれに遅れているかもしれませんが、まだ必要な場合に備えて:
ドロップダウン要素を閉じる前に、リスナー ノードを追加する必要があります。
<listeners
jcr:primaryType="nt:unstructured"
loadcontent="function(box){ //here you also need to handle the hide/unhide when the panel loads for the first time. Use this.getValue() to retrive the intial value }"
selectionchanged="function(box, value) {
for(var c=1;c<=value;c++){
this.findParentByType('tabpanel').unhideTabStripItem("tab"+c); // You need to handle the opposite with hideTabStripItem("tab"+c);
}
}"/>
次に、「loadcontent」と「selectionchange」(これらはドロップダウンのイベントです)の両方で、現在選択されている値を取得し、それを使用してタブを非表示/非表示にします。この場合、タブには「tab1」、「tab2」などの名前が付けられます。名前が正しいことを確認してください。
イベント内の ExtJS は、ダイアログ全体の「tabpanel」コンテナを検索し、名前に基づいて非表示/非表示を切り替えます。メソッド「.enable()」および「.setDisabled(true)」を使用して有効/無効に設定することもできます。これを行う場合は、最初にタブへの参照を取得してください (「.getComponent(tabName).enable()」など)。
私はこの特定のコードをテストしませんでした。コードベースから実際の例を見つけることができませんでしたが、これは正しい方向に導くはずです。