我使用trackResetOnLoad
Ext.form.Basic
配置获得:true
。
当我在字段上调用reset()
时,它会从setValues()
形式的方式获取其值
如何立即重置字段?
当我只是field.setValue('')
时,表单将其标记为无效,因为该字段是必需的。
提前致谢。
答案 0 :(得分:6)
您必须手动重置所有originValues
所有字段(以及其他一些字段)
此剪辑将执行此操作
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;
}
}
<强> working example 强>
答案 1 :(得分:0)
对我来说有用的是在使用var originalValues = myForm.getFieldValues();
之类的内容创建表单后获取值的副本,然后我可以使用myForm.setValues(originalValues);
恢复这些值,而不是调用myForm.reset(...);