2013-05-23 4 views
1

Я создали пользовательский ExtJS путем расширения Ext.container.Container содержащих элементы управления, как radiofield, combo и dataview и назвал его alias конфигурации, как widget.CustomerDetail.xtype и Itemid свойство, отсутствующее в пользовательском компоненте 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():

this.down('#customerDetail'); 

Не забудьте # когда вы выбираете по Itemid.

+0

Как я уже сказал, свойства 'xtype' и' itemId' сами не присутствовали в объекте компонента. И странно, это связано с использованием метода 'constructor' в' CustomerDetail', я удалил его, а itemId и xtype оба превратились в объект. Все еще не понимая, почему это произошло. – Kushal

Смежные вопросы