Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
重置表单记录不清除值-ExtJS 4.2_Extjs_Extjs4 - Fatal编程技术网

重置表单记录不清除值-ExtJS 4.2

重置表单记录不清除值-ExtJS 4.2,extjs,extjs4,Extjs,Extjs4,我有一个网格面板,其中包含记录,单击后将加载到表单面板中进行编辑 在表单面板的“close”上,我们调用myForm.getForm.reset(),它似乎重置了记录,但表单字段中的值本身仍然存在 // Load record me.down('form').loadRecord(record); // Close me.down('form').getForm().reset() or me.down('form').reset() 请告知如何在重置记录时清除表单中的值。是否将表单的trac

我有一个网格面板,其中包含记录,单击后将加载到表单面板中进行编辑

在表单面板的“close”上,我们调用myForm.getForm.reset(),它似乎重置了记录,但表单字段中的值本身仍然存在

// Load record
me.down('form').loadRecord(record);
// Close
me.down('form').getForm().reset() or me.down('form').reset()

请告知如何在重置记录时清除表单中的值。

是否将表单的
trackResetOnLoad
设置为true?如果是这样,您真正想要的是将其设置为false。

可能需要将“resetRecord”参数设置为“reset()”方法,以便通过“loadRecord”方法解除任何记录集的绑定

例如:

me.down('form').getForm().reset(true)

您可以覆盖默认表单面板以添加此功能。将以下内容添加到代码中:

 Ext.override(Ext.form.Panel, {
     clearForm:function(){
         Ext.each(this.getForm().getFields().items, function(field){
                field.setValue('');
         });
     }
});
然后,您可以使用以下命令清除表单:

myForm.clearForm()

其中myForm是您的表单面板

reset()

this.up('form').getForm().reset();

如果要维护trackResetOnLoad=true(例如,您可以使用表单的“dirtychange”事件),另一种方法是在创建表单后立即复制值,如
var originalValues=myForm.getFieldValues()myForm.setValues(originalValues)简单地恢复这些值而不是调用
myForm.reset(…)

trackResetOnLoad:false。。从trackResetOnLoad更改为:true。。工作!如果将
trackResetOnLoad
设置为false,则不会触发dirtychange事件。如果需要的话,请考虑其中一个解决方案。这与重置表单(至少以OP的方式)不一样。通过将所有字段设置为null,如果用户保存表单,则上一条记录将更新为null值。雷米乌斯的答案是正确的。@Reimius-可能是因为它代表了投票人的正确答案。答案可以被证明是有价值的,原因有很多,并且都可以在有效性、效益和观点方面进行投票——事实上,请参见格伦·劳伦斯的评论为什么会有这样一个立体文本?