【问题标题】:Sencha Touch Store Add replaces record 1Sencha Touch Store 添加替换记录 1
【发布时间】:2013-08-16 09:11:52
【问题描述】:

我扩展了 Ext.data.Store(即具有模型用户的用户),但是当我迭代自定义 JSON 响应并添加每条记录时,它会替换第一条记录,因此存储仅包含一条记录而不是许多记录

这是我在第 215 行的代码(图像格式)通知,我在每次迭代时添加了一个存储模型:

这里是控制台输出 w/c 仅在 getCount() 上显示 1:

我尝试了许多解决方案,其中包括将“id”属性更改为其他属性,并将我的用户模型与用户模型不同

但是我有另一家商店,添加的很好,没有问题。

编辑:我尝试通过 javascript 控制台添加它,但它仍然替换了记录 1:

【问题讨论】:

  • 你确定你把用户放在一个普通的 json 列表中吗?或者它们是否被包裹在一个单一的对象中,例如 {users: [{},{},{}], totalCount: 3}
  • 哦,是的,该列表已解析好,请。请参阅控制台日志第 214 行,我在每个列表项上创建了一个模型,它们等于 3,并且应该是,并且每次我添加每个模型时,这都会替换第一条记录

标签: javascript extjs sencha-touch-2


【解决方案1】:

商店的add 函数将自动处理模型的创建。你的回调应该像这样简单:

callback: function(optionsusers, successusers, responseusers) {
    loadingLoginModal.hide();

    var responseusersJSON = Ext.JSON.decode(responseusers.responseText);
    userStore.add(responseusersJSON);

    loadingLoginModal.destroy();
    that.showHomeView();
}

【讨论】:

    猜你喜欢
    • 2012-08-18
    • 1970-01-01
    • 2011-11-26
    • 1970-01-01
    • 1970-01-01
    • 2014-02-06
    • 1970-01-01
    • 1970-01-01
    • 2013-07-04
    相关资源
    最近更新 更多