2013-08-05 3 views
-1

кто-нибудь, пожалуйста, помогите мне с созданной компоненты для ExtJS 4.2Пользовательский компонент ExtJS, не работает SetValue

Ext.define('mycomponent', { 
    extend:'Ext.form.field.Display', 
    alias: 'widget.mycomponent', 

    initComponent: function() { 
     this.setValue("some value") // not setup 
     this.callParent(arguments); 
     console.log(this) 
    }, 

}) 

я стараюсь

Ext.getCmp(this.id).setValue("some") 

но HTML объект не существует, события beforerender e.t.c. не бегать. как я могу установить значение?

ответ

0

Вот полный рабочий пример, протестированный с 4.2.1.

Ext.define('Foo', { 
    extend:'Ext.form.field.Display', 
    alias: 'widget.mycomponent', 

    initComponent: function() { 
     this.setValue("some value") // not setup 
     this.callParent(arguments); 
    } 
}) 

Ext.onReady(function() { 

    new Foo({ 
     renderTo: document.body 
    }) 

}); 
+0

если я установил свойство «имя», как я могу получить его на методе initComponent? –

+0

'var name = this.name;' –

+0

, но мне нужно получить значение имени, это поле в форме и я привязываю форму от бэкэнда (ajax) –

0

Вы должны определить ПолучитьЗначение() и SetValue() методы в конструкторе, чтобы работать.

getValue: function() { 
     var me = this, 
      value; 
     return value; 
    } 

    setValue: function (value) { 
     var me = this; 

// Example only should't work as it is 
     me.displayField.setValue(value); 
    } 
Смежные вопросы