我有一个带有数据源读取方法的网格
this.editorGridConfig = {
dataSource: {
transport: {
read: options => {
this.getSummaryData().then(res => {
options.success(res.data);
});
}
}
getSummaryData() {
console.log('get summary data');
let url = 'myEndPoint';
return ajaxRequest(url);
}
getSummaryData 已成功调用并返回一个对象数组。问题是当 options.success(res.data) 被称为 kendo 时,在 this.getSummaryData 上发出新请求被调用两次。
如果您使用的是剑道路线,那么这就是问题所在。
router.navigate('/page/' + e.index);在 Change() 和 dataSource.query() 的分页中触发 read()
解决方案是:
var url = window.location.href;
var pagelessUrl = url.indexOf("/page/") === -1 ? url.length - 1 : url.indexOf("/page/");
window.history.pushState('page'+e.index, document.title, url.substring(0,pagelessUrl)+"/page/" + e.index);