3
var tabPanel = Ext.getCmp('tabPanel');
for(var i=1; i<tabPanel.items.length; i++)
{
tabPanel.items.removeAt(i);
i--;
}
tabPanel.doLayout();
tabPanel에서 모든 탭 (첫 번째 탭 제외)을 제거하려고합니다. 이 코드는 그렇게하고 있습니다. 나는 방화범을 사용하여 그것을 검사했다.
하지만 여전히 UI에는 반영되지 않습니다. doLayout() 충분하지 않습니까? 대신 당신이 탭tabPanel에서 탭 제거
에게 그것을 할 수있는 또 다른 방법을 제거하는 대신 혼합 수집 용기를 이야기하고 그런 다음 전화
tabPanel.remove(tabPanel.items.getAt(i));
tabPanel.items.removeAt(i);
를 호출
고맙습니다 ...하지만 위의 코드가 작동하지 않는 이유를 말해 줄 수 있습니까? – Shashwat
답변에 대한 내 의견은 그것을 설명합니다. 'tabPanel.items.removeAt (i)'는'MixedCollection' 항목에서 그것을 제거하지만 탭이 제거되었다는 것을'tabPanel'에 통지하지 않습니다. 항목 모음은 읽기 전용으로 액세스해야합니다. 'Container'에서 상속받은)'TabPanel' 메소드를 사용하여 하위 컴포넌트 (탭)를 추가/제거합니다. –
알았습니다. 그러나 일반 패널에서 항목을 추가 및 제거하는 동안 작동합니다. 제거 기능이 자동으로 패널에 알리고 레이아웃을 수행합니다. 그렇다면 왜 탭 패널에 없습니까? – Shashwat