0
如果我正在做像isNumeric這樣的簡單檢查,響應時間很好,但只要我開始做更復雜的任何事情(如果值有效,檢查數據庫),那麼它很快就會變得太慢而不能有用。即。 45秒900排,20分鐘25K行(然後是電網獲得越野車)改善Handsontable驗證響應性
這裏是那種檢查的例子我目前想實現:
var BadArray = [];
var GoodArray = [];
isValid = function (value, callback) {
var bad = $.grep(BadArray, function (e) { return e.Key == value; });
if (bad != null && bad.length === 0) {
var good = $.grep(GoodArray, function (e) { return e.Key == value; });
if (good != null && good.length === 0) {
var errMsg;
var data =
$.ajax({
//ajax call setup here
success: function (response) {
if (response == "active") {
GoodArray.push(value);
callback(true);
}
else {
BadArray.push({ Key: value, RspMsg: response });
errMsg = response;
}
}
});
if (errMsg != null) {
$("#ValErrors").empty();
$.each(BadArray, function (index, value) {
$("#ValErrors").append("Key " + value.Key + ": " + value.RspMsg + "<br />");
});
callback(false);
}
}
else {
callback(true);
}
}
else {
callback(false);
}
};
還有什麼我可以做些改進這個具體的例子嗎? 如何提高Handsontable中驗證函數的響應時間是否有任何通用提示/技巧?
有沒有辦法告訴Handontable你想以這種方式進行驗證?我還沒有看到任何方法來阻止它單獨檢查每個單元。 – wham12
有,我無法找到它是如何做到的。基本上,你關閉驗證onChange,然後在'afterChange'事件中執行'hot.validateCells()'或'hot.validateCell(x,y)' – ZekeDroid