2013-07-05 9 views
2

구성 요소 유형이 TextFieldFormPanel의 하위 구성 요소를 모두 선택하려면 어떻게해야합니까?FormPanel에서 모든 TextField를 선택하는 방법은 무엇입니까?

TextField 구성 요소 만 반복하고 값을 ""으로 설정하고 싶습니다.

내가 너무 많은 물건을 선택하는 FormPanel

this.query('textfield').forEach(function(item) { console.log(item.id); }); 

에 방법 안에 이것을 가지고, 그것은 ComboBoxDateField 무엇을하지 않는 내부의 모든 중첩 된 TextFields을 선택합니다.

Ext.form.field.TextField 인스턴스는 어떻게 만듭니 까?

+0

ExtJS ComboBox는 Ext.form.field.Text를 확장하므로 중첩 된 텍스트 필드가 없습니다. 사실 그것은 업그레이드 된 텍스트 필드 그 자체입니다. – Zon

답변

1

현재의 구성 요소가 textfield 인 경우 중 어느 하나 또는 조회 textfield으로부터 연장 할 Ext.ComponentQuery시킨다. [xtype=textfield]과 같은 사례에 대한 속성 검색어를 사용하기 만하면됩니다. 당신은 xtype을 설정하지 않고 textfield을 생성하거나 인스턴스를 설정하면 xtype으로 설정하면 문제가되지 않습니다.

다음 예는 두 가지 결과를 반환합니다.

var form = Ext.create('Ext.form.Panel', { 
    title: 'Contact Info', 
    width: 300, 
    bodyPadding: 10, 
    renderTo: Ext.getBody(), 
    items: [Ext.create('Ext.form.field.Text',{ 
     name: 'name', 
     fieldLabel: 'Name', 
     allowBlank: false // requires a non-empty value 
    }), { 
     xtype: 'textfield', 
     name: 'email', 
     fieldLabel: 'Email Address', 
     vtype: 'email' // requires value to be a valid email address format 
    }] 
}); 
console.log(Ext.ComponentQuery.query('[xtype=textfield]', form)); 
관련 문제