gpt4 book ai didi

extjs - 如何正确取消商店过滤请求

转载 作者:行者123 更新时间:2023-12-02 18:08:24 24 4
gpt4 key购买 nike

我有一个具有以下配置的组合框(extjs4.1.2):

  xtype:'combo',         
store: 'MyItems',
queryParam:'itemNumber',
displayField:'itemNumber',
hideTrigger:true,
typeAhead:true,
minChars:7,
lastQuery: '',
queryDelay:500

一切都按预期进行,并且存储在第 7 个字符上触发远程查询。但是,如果用户继续输入第 8 个字符,则会触发另一个查询。第二个查询返回的速度比第一个查询的速度快,然后第一个查询返回并弄乱了下拉菜单。有没有办法在运行后续查询时取消第一个查询?

谢谢。

最佳答案

您可以使用Ext.Ajax.abort()Ext.Ajax.abortAll() (ExtJS 4)。请参阅 API 文档:http://docs.sencha.com/ext-js/4-1/#!/api/Ext.Ajax

可以通过拦截组合框的onTypeAhead函数来使用它:

comboObj.onTypeAhead = Ext.Function.createInterceptor(comboObj.onTypeAhead, function() {
Ext.Ajax.abort(); //aborts the last Ajax request
return true; //runs the onTypeAhead function
});

或者您可以使用 Ext.data.Connection 中的 autoAbort 属性,但对此没有太多文档。我会尽力为您提供一个关于此的有效示例。

关于extjs - 如何正确取消商店过滤请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13464358/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com