Forms Ext.form.Basic trackResetOnLoad为真时如何重置字段?

Forms Ext.form.Basic trackResetOnLoad为真时如何重置字段?,forms,extjs,extjs4,Forms,Extjs,Extjs4,我得到了一个带有:true配置的Ext.form.Basic 当我在一个字段上调用reset()时,它从setValues()方法中获取其值。 现在如何重置字段? 当我只执行field.setValue(“”)时,表单会将其标记为无效,因为该字段是必需的 提前感谢。您必须手动重置所有字段(以及其他字段)的所有原始值 这个剪下来的就可以了 var items = form.getForm().getFields().items, i = 0, len = items.length;

我得到了一个带有
:true
配置的
Ext.form.Basic

当我在一个字段上调用
reset()
时,它从
setValues()
方法中获取其值。
现在如何重置字段?
当我只执行
field.setValue(“”)
时,表单会将其标记为无效,因为该字段是必需的


提前感谢。

您必须手动重置所有字段(以及其他字段)的所有
原始值

这个剪下来的就可以了

var items = form.getForm().getFields().items,
    i = 0,
    len = items.length;
for(; i < len; i++) {
    var c = items[i];
    c.value = '';
    if(c.mixins && c.mixins.field && typeof c.mixins.field['initValue'] == 'function'){
        c.mixins.field.initValue.apply(c);
        c.wasDirty = false;
    }
}
var items=form.getForm().getFields().items,
i=0,
len=项目长度;
对于(;i

对我有效的方法是在创建表单之后,使用类似于
var originalValues=myForm.getFieldValues()的内容复制一份值myForm.setValues(originalValues)恢复这些值而不是调用
myForm.reset(…)

感谢@sra提供的有用答案!我正在我的应用程序中测试此解决方案,如果它有效,我将接受它。