ExtJS 4.2.1
{
xtype: 'textfield',
emptyText: '标题',
id: 'tf11',
name: 'title',
width: '100%',
anchor: '100%',
fieldLabel: '标题',
hideLabel: true,
allowBlank: false
}
这是我的textfield,我想做的只是手动设定其里面的内容,
Ext.getCmp('tf11').setValue('123');
可是执行上面这条语句并不见效果,但是能看到
为什么setValue没效果,有人碰到过吗,如何解决?
这个是因为你的控件还没有被渲染出来,如果是在form中加载的, 需要用form的afterrender( Ext.Component this, Object eOpts )这个事件,就可以了.
var taskInfoForm = Ext.widget('form', {
id: 'taskInfoForm',
layout: 'vbox',
title:'任务信息',
autoScroll:true,
bodyBorder: 0,
fieldDefaults: {labelAlign:'right', labelWidth:100},
defaults: {margins: '5 0 0 0'},
listeners: {
afterrender:function (_this, eOpts) {
_this.getForm().findField('tf11').setValue('1');
}
}
//..............
});