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})提供回调
加载成功函数是否将加载的记录作为参数获取?是的。正如我在上一篇评论中给出的链接中的文档所述。