gpt4 book ai didi

kendo-ui - 重新输入搜索字符串时,Kendo AutoComplete 不会重新查询数据源

转载 作者:行者123 更新时间:2023-12-01 12:47:44 25 4
gpt4 key购买 nike

我的 Kendo AutoComplete 小部件有问题。

我正在尝试在用户输入搜索的前两个字符后查询数据源。
在服务器(web api)上,我使用这两个字符限制搜索,一切都很好,即如果我继续输入搜索,将返回一个子集并正确显示并进一步过滤。

但是,我然后重新键入一个新的搜索条目,该条目不再返回到数据源,因此我坚持使用从第一个查询中检索到的数据。

我该如何正确处理?

谢谢

这是我的测试代码:

public class AlbumsController : ApiController
{
HttpRequest _request = HttpContext.Current.Request;

// GET api/albums
public IEnumerable<Album> GetForAutoComplete()
{
string sw = _request["sw"] == null ? "" : _request["sw"].ToString();

var query = (from a in Albums.MyAlbums
where a.Title.ToLower().StartsWith(sw)
orderby a.Title
select a).ToArray();

return query;
}

我在客户端的 javascript 是这样的:
    var dataSource = new kendo.data.DataSource({
transport: {
read: {
url: "/api/Albums/GetForAutoComplete",
data: {
sw: function () {
return $("#albumSearch").data("kendoAutoComplete").value();
}
}
}

}

});

$("#albumSearch").kendoAutoComplete({
dataSource: dataSource,
dataTextField: "Title",
minLength: 2,
placeholder: "type in here.."
});

最佳答案

套装serverFiltering为真。默认为false,因此它只会抓取数据一次并假设它现在拥有所有数据,随后在客户端进行过滤。
要每次都将其重新发送到服务器,请添加以下内容:

var dataSource = new kendo.data.DataSource({
serverFiltering: true, // <-- add this line.
transport: {
...
}
});

关于kendo-ui - 重新输入搜索字符串时,Kendo AutoComplete 不会重新查询数据源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14340161/

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