我得到了一个trackResetOnLoad
:true
配置的Ext.form.Basic
。
当我在字段上调用reset()
时,它从表单setValues()
方法获取其值。
我现在如何重置我的字段?
当我只是执行field.setValue('')
时,表单将其标记为无效,因为该字段是必需的。
提前谢谢。
手动重置所有字段(以及其他一些字段)的所有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;
}
}
工作示例
对我有用的方法是在创建表单后立即使用类似 var originalValues = myForm.getFieldValues();
的东西复制值,然后我以后可以使用 myForm.setValues(originalValues);
恢复这些值,而不是调用myForm.reset(...);