kendo ui 数据源读取方法发出两个请求

Pet*_*ran 5 kendo-ui

我有一个带有数据源读取方法的网格

 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);
}
Run Code Online (Sandbox Code Playgroud)

getSummaryData 被成功调用并返回一个对象数组。问题是当 options.success(res.data) 被调用时,kendo 会在 this.getSummaryData 上发出一个新请求被调用两次。

小智 -1

如果您使用剑道路线,那么这就是问题所在。

router.navigate('/page/' + e.index); 在分页 onChange() 和 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);
Run Code Online (Sandbox Code Playgroud)