2013-03-01 4 views
2

Tab with View with TabPanel이 있습니다. 이 Panel에서 Tab의 인스턴스를 가져오고 id 또는 itemId를 설정할 속성은 무엇입니까?ID 또는 itemID로 TabPanel의 탭 가져 오기

감사

openProjectMetaTab: function(project) { 
    var tabPanel = this.getTab(); 
    console.log(tabPanel); 
    var mpItemId = 'project-metaTab-' + project.get('id') 
    console.log('#'+mpItemId); 
    var metaPanel = tabPanel.getComponent(mpItemId); 
    console.log(metaPanel); 
    if(!metaPanel) { 
     tabPanel.add({ 
      title: project.get('title'), 
      closable: true, 
      items: [ 
       { 
        xtype: 'projectMetaForm', 
        itemId: mpItemId, 
       }, 
      ], 
     }).show(); 
    } 
} 
+0

은 당신이 당신의 탭을 정의하는 방법에 대한 몇 가지 코드를 제공 할 수 있습니까? 'Id'는 개발할 때 또는 응용 프로그램에 ** ** 인스턴스 만 생성된다는 것을 알 수있는 구성 요소가있는 경우에만 사용해야합니다. – A1rPun

답변

2

그런 식으로 전역 ID 속성 충돌에 대해 걱정할 필요가 없기 때문에 내가 itemId를 사용하는 것이 좋습니다 것입니다. 문서 별 :

당신은 다음 탭을 얻을 수 Ext.container.Container.getComponent을 사용할 수 있습니다

"해당 itemId 년대 컨테이너의 내부 MixedCollection에 인덱스이기 때문에, 항목 ID가 컨테이너에 로컬로 범위가". 여기

은 포스터에서 예입니다 업데이트 질문 :

openProjectMetaTab: function(project) { 
    var tabPanel = this.getTab(); 
    console.log(tabPanel); 
    var mpItemId = 'project-metaTab-' + project.get('id') 
    console.log('#'+mpItemId); 
    var metaPanel = tabPanel.getComponent(mpItemId); 
    console.log(metaPanel); 
    if(!metaPanel) { 
     tabPanel.add({ 
      title: project.get('title'), 
      closable: true, 
      xtype: 'projectMetaForm', 
      itemId: mpItemId 
     }).show(); 
    } 
} 
+0

고마워요! 나는 그것을 시도했으나 효과가 없다. 나의 실수는 무엇인가? 위 코드를 추가했습니다. – Gerrit

+0

아래에 중첩 된 실제 탭 패널이 아닌 양식에 ID를 제공합니다. – Reimius

+0

탭 패널에 ID를 부여하는 방법은 무엇입니까? – Gerrit