0

我正在尝试从商店获取关联模型(例如组和关联用户):

Ext.each(this.getView().getSelection()[0].getAssociatedData().users,function(element){
     var theuser = myStore.getById(element.id);
     theuser.set('deactivated','true');
}

这适用于前 25 个用户(id 1-25),但是商店是通过分页插件过滤的。由于使用偏移量和限制进行过滤,请求的 id 不在本地存储中。

如果 id 在本地缓存中不可用,关于如何强制商店从远程获取模型的任何想法?或者是否可以使用 getAssociatedData 中的数据,更改某些内容并通过编写器代理写回记录?

thx,非常感谢您的帮助!

4

1 回答 1

0

商店的 getById() 方法将只返回本地可用的记录。

如果您想检索模型,并且您已经知道 id,您可以简单地执行<model class>.load(id). (如果型号未知,您可以这样做myStore.getModel().load(id)

请注意,加载方法会立即返回,但它会返回一个存根——您需要使用回调来处理对deactivated字段的更改。

在 ExtJS5 中,Session 支持将有助于确保关联存储和myStore对象中引用的模型引用相同的模型实例。

于 2014-08-07T13:19:47.413 回答