Extjs4.2.0 store.sync()

以下是实验得到结论:

1.编辑一行记录

  1. 服务器发生错误,处理结果是:failure
  2. 返回数据根下success为false {success:false,.......}:处理结果是failure/相反是success,这还不一定由5条结论否定了
  3. 当处理结果为 success,会无条件执行();commit(true)还是commit(false)这个没测试
  4. 返回数据应按照 proxy.reader 的设置格式返回,当满足格式要求,数据才会回填至当前编辑行,提交的是一条记录,返回可以是{record},[{record}]都可以
  5. 当有回填数据并且格式正确但不能读取如回填record为{null},也会返回处理结果失败。环境是,根下已设置:success=true

使用store.sync()方式,测试期间,发现有些记录在我不知道的情况下就被同步删除了!

原因是,在需要重置store的时候调用了store.removeAll(),删除所有数据,却没有重置 store.removed=[];导致再次store.sync()的时候,STORE发现store中有未同步的数据,把未同步删除的数据直接提交了.解决方案,建议在开发和调试期间都加个监听事件,同步执行前触发。

原文地址:https://www.cnblogs.com/xsSystem/p/3107219.html