javascript – 如何在初始化期间引用同一对象内的对象字段?

我有一张表格.还有很多文本字段.我使用allowBlank属性不允许用户将字段留空并使用blankText来定义自定义的“空白错误”文本.

{
 xtype: 'textfield',
 fieldLabel: 'Surname',
 name: 'person_surname',
 allowBlank: false,
 blankText: 'Please fill "Surname" field',                  
},

我的问题是:

有没有办法在同一个对象的另一个属性中使用Ext.form.field.Text的对象属性?

就像是:

{
 xtype: 'textfield',
 fieldLabel: 'Surname',
 name: 'person_surname',
 allowBlank: false,
 blankText: 'Please fill "' + fieldLabel + '" field',                  
},

(不起作用)

要么:

{
 xtype: 'textfield',
 fieldLabel: 'Surname',
 name: 'person_surname',
 allowBlank: false,
 blankText: 'Please fill "' + this.fieldLabel + '" field',                  
},

(也不起作用)

更新:

例如,在minLengthText属性中,我可以使用模板驱动的文本,例如“此字段的最小长度为{0}”,它采用同一对象的minLength属性值.

我再说一遍:我使用ExtJS的对象初始化方法,对象文字语法如:

{
 xtype: 'textfield',
 fieldLabel: 'Surname',
 name: 'person_surname',
 allowBlank: false,
 blankText: 'Please fill "Surname" field',                  
},

这个语法非常简洁,在这里不欢迎使用其他语法.

最佳答案
如果您不想重写代码,请尝试将监听器添加到表单中

listeners : {

               render : function(){
                   Ext.each(form.items.items,function(fld,idx){
                    if(fld.getXType()=='textfield'){
                       fld.blankText = fld.fieldLabel;
                    }
                   });
               }
 }

转载注明原文:javascript – 如何在初始化期间引用同一对象内的对象字段? - 代码日志