Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/453.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
Javascript 清除存储并加载网格中的搜索结果_Javascript_Search_Extjs_Grid_Extjs5 - Fatal编程技术网

Javascript 清除存储并加载网格中的搜索结果

Javascript 清除存储并加载网格中的搜索结果,javascript,search,extjs,grid,extjs5,Javascript,Search,Extjs,Grid,Extjs5,当我加载我的应用程序时,第一个组件是网格(带有pagingbar) 网格存储具有以下配置:true 该应用程序还有第二个组件,一个表单,用于搜索,结果被加载到网格中 当我单击搜索按钮时,如果网格位于第2页,并且搜索字符串仅存在于第一页,则不会返回任何结果 我使用的解决方案是转到第一页,删除所有记录(使用autoload:true加载),然后加载搜索结果 store.loadPage(1) ; store.removeAll(); store.proxy.extraParams = {...};

当我加载我的应用程序时,第一个组件是网格(带有pagingbar)

网格存储具有以下配置:true

该应用程序还有第二个组件,一个表单,用于搜索,结果被加载到网格中

当我单击搜索按钮时,如果网格位于第2页,并且搜索字符串仅存在于第一页,则不会返回任何结果

我使用的解决方案是转到第一页,删除所有记录(使用autoload:true加载),然后加载搜索结果

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的建议,我现在正在尝试实施您的建议,我会根据您的指示更好地思考这个问题。。。