2017-04-10 6 views
0

현재 ExtJs에서 작업 중이며 모든 구성 요소를 반복하고 각 구성 요소의 상위 탭을 찾고자하는 곳에 머물러 있습니다. 위의 코드에서ExtJs : 상위 컨트롤 탭 가져 오기 방법

Ext.application({ 
    name : 'Fiddle', 
    launch : function() { 
     Ext.create('Ext.tab.Panel', { 
      width: 300, 
      height: 200, 
      activeTab: 0, 
      items: [ 
       { 
        title: 'Tab 1', 
        bodyPadding: 10, 
        items : [{ 
       xtype: 'fieldset', 
       itemId: 'fieldsetId', 
       items: [{ 
          xtype: 'checkbox', 
          fieldLabel: 'Check 1' 
         },{ 
          xtype: 'checkbox', 
          fieldLabel: 'Check 2' 
         },{ 
          fieldLabel: 'Combo 1', 
          xtype: 'combobox', 
          store: ['value1','value2','value3'] 
         }] 
       }, 
       { 
        xtype: 'button', 
        text: 'Reset', 
       }] 
       }, 
       { 
        title: 'Tab 2', 
        html : 'Another one', 
        items: [{ 
         xtype: 'button', 
         text: 'Test', 

        }] 
       } 
      ], 
      renderTo : Ext.getBody() 
     }); 
    } 
}); 

, 나는 모든 구성 요소를 통해 반복하고 있는지 부모 탭의 이름을 로그인 할 때 Tab 1 또는 Tab 2

답변

0

때마다 그냥

field.up().up() 
을, 모든 구성 요소를 통해 반복된다

여기서 field는 탭의 구성 요소이며 위의 명령문은 부모 tabpanel을 반환합니다.

field.up().up().title 

는 다음 넣을 수있는 모든 구성 요소를 통해 이동하는 단 하나 개의 루프 또는 뭔가가있는 경우가

field.up() only. 

될 것입니다 탭이 개 구성 요소에 대해 같은 방법으로 당신을 "표 1"

를 반환합니다 조건이

if (field.up())이 패널을 반환하면 그 제목을 읽습니다. else field.up(). up()을 수행 한 다음 제목을 읽습니다.

이 문제가 해결되기를 바랍니다.

+0

위의 샘플에 대한 이름, 직함을 얻을 수있는 것은 단지 샘플입니다 . Fieldset에는 컨테이너와 컨트롤이있을 수있는 여러 자식 필드가있을 수 있습니다. 이런 경우에는'field.up(). up()'만이 작동하지 않습니다. – user2988458

+0

다음을 시도하십시오 : field.findParentByType ('tabpanel'). tabBar.items.items [field.getTabIndex()]. ​​title –

0

당신은 사용할 수 field.up ('탭 패널이')을 탭 패널의 참조를 얻기 위해 다음의 기준에서 문제의 탭 패널을