2013-08-05 45 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

您需要在構造函數中定義getValue()和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); 
    }