ExtJS4 中 setValue 的问题

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');

可是执行上面这条语句并不见效果,但是能看到
the result

为什么setValue没效果,有人碰到过吗,如何解决?

阅读 7.8k
1 个回答
新手上路,请多包涵

这个是因为你的控件还没有被渲染出来,如果是在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');
}
}
//..............
});

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏