2013-05-23 2 views
1

누락 해당 itemId 속성은 I radiofield, combodataviewwidget.CustomerDetailalias로서의 구성라는 같은 제어 Ext.container.Container 상기 연장하여 사용자의 ExtJS를 만들었다.위해 xtype 맞춤의 ExtJS 성분

실제보기에서는이 구성 요소를 items 배열로 다음과 같이 정의하여 사용하고 있습니다.

{ 
    xtype: 'CustomerDetail', 
    itemId: 'customerDetail', 
    customerId: '<some id>', //this is custom attribute that I access in CustomerDetail's constructor. 
    listeners: { 
     'customerDataChanged': function(sender, eOpts) { 
      //This event is fired from CustomerDetail's components' change events 
      //by this.fireEvent("customerDataChanged", obj, eOpts); 
      //Do something like enabling Parent form's Save button. 
     } 
    } 
} 

는하지만 this.getComponent('<parent_form_itemId').getComponent('customerDetail')를 사용하여 부모 뷰 (그것을 사용하는 형태)이 사용자 지정 구성 요소를 쿼리 드릴 수 없습니다. 난 그냥 this.getComponent('<parent_form_itemId')을 검사하는 경우

동안은, 그것은 전체 양식 객체를 가지고 있으며, 그 items 배열은 CustomerDetail 구성 요소를 가지고 있지만, 의외로 CustomerDetail의 목적은 xtype 또는에서 itemId 존재가 없습니다.

여기에 무슨 문제가 있습니까?

답변

1

당신은 down()와 하위 구성 요소를 찾을 수 있습니다 당신은 해당 itemId에 의해 선택하면

this.down('#customerDetail'); 

는 # 잊지 마세요.

+0

앞서 말했듯이 'xtype' 및'itemId' 속성 자체는 구성 요소의 객체에 없습니다. 그리고 기괴하게도, 그것은'CustomerDetail' 자체에서'constructor' 메소드를 사용했기 때문에, 그것을 제거했고 itemId와 xtype은 모두 객체를 돌려 놨습니다. 아직도 그것이 일어난 이유를 이해하지 못합니다. – Kushal

관련 문제