Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.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
extjs store.getById()失败_Extjs_Extjs4_Extjs5 - Fatal编程技术网

extjs store.getById()失败

extjs store.getById()失败,extjs,extjs4,extjs5,Extjs,Extjs4,Extjs5,我正在尝试从具有以下内容的商店获取关联模型(例如组和关联用户): Ext.each(this.getView().getSelection()[0].getAssociatedData().users,function(element){ var theuser = myStore.getById(element.id); theuser.set('deactivated','true'); } 这适用于前25个用户(id为1-25),但商店通过分页插件进行过滤。由于使用偏

我正在尝试从具有以下内容的商店获取关联模型(例如组和关联用户):

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中的数据,更改某些内容并通过writer代理将记录写回

谢谢你的帮助

存储的getById()方法将只返回本地可用的记录

如果您想检索一个模型,并且您已经知道该id,只需执行
.load(id)
。(如果模型未知,可以执行
myStore.getModel().load(id)

请注意,load方法立即返回,但它返回一个存根-您需要使用回调来处理对
已停用
字段的更改


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

您的意思是过滤-由于分页原因或类似原因,您甚至没有将整个存储加载到客户端?或者您通常只在本地过滤它getById fn不受筛选器的影响。它由远程分页插件过滤(?page=1&start=0&limit=0)编辑问题试图澄清ITA,您可以通过
load(id,{success:callbackFn})提供回调
加载成功函数是否将加载的记录作为参数获取?是的。正如我在上一篇评论中给出的链接中的文档所述。