Javascript 清除存储并加载网格中的搜索结果
当我加载我的应用程序时,第一个组件是网格(带有pagingbar) 网格存储具有以下配置:true 该应用程序还有第二个组件,一个表单,用于搜索,结果被加载到网格中 当我单击搜索按钮时,如果网格位于第2页,并且搜索字符串仅存在于第一页,则不会返回任何结果 我使用的解决方案是转到第一页,删除所有记录(使用autoload:true加载),然后加载搜索结果Javascript 清除存储并加载网格中的搜索结果,javascript,search,extjs,grid,extjs5,Javascript,Search,Extjs,Grid,Extjs5,当我加载我的应用程序时,第一个组件是网格(带有pagingbar) 网格存储具有以下配置:true 该应用程序还有第二个组件,一个表单,用于搜索,结果被加载到网格中 当我单击搜索按钮时,如果网格位于第2页,并且搜索字符串仅存在于第一页,则不会返回任何结果 我使用的解决方案是转到第一页,删除所有记录(使用autoload:true加载),然后加载搜索结果 store.loadPage(1) ; store.removeAll(); store.proxy.extraParams = {...};
store.loadPage(1) ;
store.removeAll();
store.proxy.extraParams = {...};
store.load({
…
});
问题是,解决方案需要进行两次连续加载,并简要显示起始记录(自动加载),删除它们,然后显示搜索结果
store.loadPage(1) ;
store.removeAll();
store.proxy.extraParams = {...};
store.load({
…
});
我的目标是清除网格(存储)以正确加载搜索结果
有更好的方法吗
谢谢。不要进行两次加载,而是在存储区的loadPage函数中传递参数:
store.loadPage(1,{
params: your_params, //store.proxy.extraParams = {...};
callback: function(records,operation,success){
//your code
}
});
不要执行两次加载,而是在存储的loadPage函数中传递参数:
store.loadPage(1,{
params: your_params, //store.proxy.extraParams = {...};
callback: function(records,operation,success){
//your code
}
});
你可以:
store.proxy.extraParams = {...};
store.loadPage(1, {...});
除非您使用clearOnPageLoad:false
,否则您可以:
store.proxy.extraParams = {...};
store.loadPage(1, {...});
除非使用
clearOnPageLoad:false
如果通过loadPage()
选项添加搜索参数,则只会影响此单个请求,我想我们必须添加搜索参数来存储extraParams
,因为在清除搜索字段或类似内容之前,它会影响所有后续请求。但是如果我们清除所有搜索字段,预期结果应该是所有记录(因为没有过滤器)不是由extraParams过滤的记录,或者我误解了您的评论>。如果我们清除搜索字段,我们必须从存储区中删除搜索参数extraParams
,但是如果我们将搜索参数传递给loadPage()
选项,例如,过滤后的数据集在nextPage()上包含许多页面
我们将加载未经筛选的数据集。感谢qmat的建议,我现在正在尝试实施您的建议,我会根据您的指示更好地思考这个问题…如果您通过loadPage()
选项添加搜索参数,它将只影响此单个请求,我想我们必须添加搜索参数来存储extraParams
,因为在清除搜索字段或类似内容之前,它会影响所有后续请求。但是如果我们清除所有搜索字段,预期结果应该是所有记录(因为没有过滤器)不是由extraParams过滤的记录,或者我误解了您的评论>。如果我们清除搜索字段,我们必须从存储区中删除搜索参数extraParams
,但是如果我们将搜索参数传递给loadPage()
选项,例如,过滤后的数据集在nextPage()上包含许多页面
我们将加载未经筛选的数据集。感谢qmat的建议,我现在正在尝试实施您的建议,我会根据您的指示更好地思考这个问题。。。