Joh*_*ull 5 javascript extjs extjs4
我想允许用户在ExtJS 4中创建新记录并从同一表单编辑现有记录.我正在使用ExtJS 4.0.7.
我很容易加载记录.
var form = Ext.ComponentQuery.query('#myForm');
form.loadRecord(record);
Run Code Online (Sandbox Code Playgroud)
但如果我想重新开始,就没有办法卸下它!至少,没有找到合适的方法.我已经研究了几个小时,甚至还查看了一些核心的Ext代码以获得答案.我能想出的"卸载"记录的最好方法是:
form._record = null;
Run Code Online (Sandbox Code Playgroud)
如果我没有明确声明_record为null,Ext将始终尝试更新存储在那里的记录.form.reset();也不清除加载的记录.
是否有"正确"的方法来清除与表单相关的记录,以便保存新记录?
Ext.form.Panel派生自Ext.form.Basic,其中 _record 作为私有变量存在。如果您查看Ext.form.Basic
http://docs.sencha.com/ext-js/4-0/source/Basic.html#Ext-form-Basic-method-getRecord的代码
,您会注意到有_record 没有明确的方法。reset方法只是重置表单字段。因此,您在设置时做得对form._record = null;
,就个人而言,我更愿意这样做delete form._record,但您的方法也应该有效。
| 归档时间: |
|
| 查看次数: |
2457 次 |
| 最近记录: |