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提供的有用答案!我正在我的应用程序中测试此解决方案,如果它有效,我将接受它。