Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/445.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
Javascript ExtJS存储拒绝更改问题_Javascript_Extjs - Fatal编程技术网

Javascript ExtJS存储拒绝更改问题

Javascript ExtJS存储拒绝更改问题,javascript,extjs,Javascript,Extjs,当我调用store.rejectChanges()方法时,我面临一个问题。我只需在客户端添加一个存储记录 store.insert(0, Ext.create(store.model)); 现在,当用户取消我调用的操作时 store.rejectChanges() 这个新添加的记录不应该从存储中删除吗?至少文件上说任何幻影记录都将被删除。但它只是重置记录值,但记录仍保留在那里 你能检查一下新创建的模型的幻影属性吗?rejectChanges只能在phantom==trueYes时删除模型。

当我调用store.rejectChanges()方法时,我面临一个问题。我只需在客户端添加一个存储记录

store.insert(0, Ext.create(store.model));
现在,当用户取消我调用的操作时

store.rejectChanges() 

这个新添加的记录不应该从存储中删除吗?至少文件上说任何幻影记录都将被删除。但它只是重置记录值,但记录仍保留在那里

你能检查一下新创建的模型的幻影属性吗?rejectChanges只能在phantom==trueYes时删除模型。应删除新添加的记录,因为它们的phantom if true。检查幻影值。下面是工作的提琴:使用ExtJs版本4.1.1测试,感谢您的响应。但是我调试了它,当最初调用rejectChanges时,记录的phantom属性为true。但在rejectChanges方法内部,它重置记录的值,然后调用rec.commit,将phantom属性设置为false。然后,它尝试查看记录是否为幻影,它应该删除该记录。所以它不会被移除。我正在使用最新的ExtJS5。但我猜问题也出现在ExtJS 4.2中,在rejectChanges()中读取对rec.commit method的调用的位置?这不是直接调用。堆栈跟踪有点像rejectChanges()->rec.reject()->me.set(modified,me.\u rejectOptions)->me.commit()