我有一個綁定到遠程傳輸的Kendo UI自動完成功能,我需要調整它的工作方式並且空白。遞增更新Kendo UI自動完成
目前,我在服務器上執行一堆搜索,並將結果集成到JSON響應中,然後將其返回給自動完成的數據源。問題是這可能需要很長時間,我們的應用程序對時間敏感。
我們已經確定哪些搜索是最重要的,並發現1次搜索佔所選結果的95%。不過,我仍然需要提供其他搜索的數據。我正在考慮在服務器上啓動單獨的數據請求,並在它們返回時將它們添加到自動完成功能中。我們的主要搜索返回速度非常快,並將成爲列表中的第一項。然後,當其他搜索返回時,我希望它們動態添加到列表中。
我們的應用程序使用了knockout.js,我考慮將數據源作爲我們視圖模型的一部分,但是從環顧四周,Kendo不會根據您的觀察對象的更改進行更新。
我目前難住,任何建議都會受到歡迎。
編輯:
我一直在嘗試,並取得了一些成功模擬我想要什麼用以下數據源:
var dataSource = new kendo.data.DataSource({
transport: {
read: {
url: window.performLookupUrl,
data: function() {
return {
param1: $("#Input").val()
};
}
},
parameterMap: function (options) {
return {
param1: options.param1
};
}
},
serverFiltering: true,
serverPaging: true,
requestEnd: function (e) {
if (e.type == "read") {
window.setTimeout(function() {
dataSource.add({ Name: "testin1234", Id: "X1234" })
}, 2000);
}
}
});
如果第一搜索返回的結果,在2秒鐘後,一個新的項目彈出列表中。但是,如果第一次搜索失敗,則不會發生任何事情。使用(濫用)requestEnd是否合適?我最終的目標是從這個功能開始其餘的搜索。
第一次搜索如何失敗?是否有任何JavaScript錯誤或返回錯誤狀態碼?這聽起來像你分享應該工作正常 – 2013-03-05 19:16:48
我猜搜索不會失敗。如果沒有返回搜索結果或空的JSON響應,則不會顯示自動完成。 – xocomil 2013-03-05 19:32:58