extjs 4表单在form.reset()之后仍然有记录集;

extjs 4表单在form.reset()之后仍然有记录集;,第1张

概述我有一个绑定到表单的网格,表单提交 *** 作是更新已加载的记录(如果有)并添加新记录(如果它是空白表单).但如果我先选择一条记录然后再打电话 myGrid.getSelectionModel().deselectAll();myform.getForm().reset(); 清除表单,以便我可以添加新记录,它会覆盖以前选择的记录并进行更新. record = myform.getRecord();i 我有一个绑定到表单的网格,表单提交 *** 作是更新已加载的记录(如果有)并添加新记录(如果它是空白表单).但如果我先选择一条记录然后再打电话

myGrID.getSelectionModel().deselectAll();myform.getForm().reset();

清除表单,以便我可以添加新记录,它会覆盖以前选择的记录并进行更新.

record = myform.getRecord();if(record){record.set(values);}

不应该myform.getRecord();重置后为空?如何清除记录选择?

解决方法 简而言之,不,它不应该和你在第一次通过 loadRecord加载任何东西后没有合法的方法来清除记录.
虽然,您仍然可以执行myform.getForm()._ record = null赋值,但我强烈反对,因为它可能会破坏ExtJs的一些内部功能.

以下是ExtJs API的摘录:

getRecord() : Ext.data.Model
Returns the last Ext.data.Model instance
that was loaded via loadRecord

它确实如此,返回通过loadRecord加载的最后一条记录.

以下是一些消息来源:

getRecord: function() {    return this._record;},loadRecord: function(record) {    this._record = record;    return this.setValues(record.data);},

实际上,这些是处理this._record字段的Ext.form.Basic(其实例在getForm()之间返回)的唯一方法.

至于重置

reset: function() {    var me = this;    me.batchLayouts(function() {        me.getFIElds().each(function(f) {            f.reset();        });    });    return me;},

正如您所看到的,重置与getRecord()返回的记录无关,它只是重置字段值.

总结

以上是内存溢出为你收集整理的extjs 4表单在form.reset()之后仍然有记录集;全部内容,希望文章能够帮你解决extjs 4表单在form.reset()之后仍然有记录集;所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1081144.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-27
下一篇2022-05-27

发表评论

登录后才能评论

评论列表(0条)

    保存