表格器。自定义排序分页过滤编辑行为的实现指南

问题描述 投票:0回答:1

我正在Vue.js驱动的Electron桌面应用中使用Tabulator。我的应用程序可以查询相当大的数据存储,并将结果显示在Tabulator表中。

我想做的事情基本上和ajax模块一样,但是我不想用AJAX调用来获取新的数据,而是想调用一个特定的API。

我从排序开始。当点击标题进行排序时,我想调用自定义的api与排序参数,然后返回一个排序的数据片。在Tabulator的排序模块api中似乎没有一个 "原生 "的方法来实现这一点。

同样的处理分页--只显示~100个结果,如果他们分页到下一页,我就调用api。

有什么好的方法可以实现这个功能?

我是否应该建立我自己的模块(从ajax模块中起草),或者是做 sortpaginate 直接与ajax模块集成?

vue.js electron tabulator
1个回答
1
投票

你可以使用 ajaxRequestFunc 回调来用你自己的逻辑替换现有的ajax请求机制。完整的细节可以在 加载数据,Ajax文档

下面的例子显示了一个新函数 查询境界 被用来替换内置的ajax功能。

该函数将被传递一个url、config和params对象,其中将包含排序、过滤和分页数据,并应返回一个用表数据数组解析的承诺。

function queryRealm(url, config, params){
    //url - the url of the request
    //config - the ajaxConfig object
    //params - the ajaxParams object

    //return promise
    return new Promise(function(resolve, reject){
        //do some async data retrieval then pass the array of row data back into Tabulator
        resolve(data);

        //if there is an error call this function and pass the error message or object into it
        reject();
    });
}

var table = new Tabulator("#example-table", {
    ajaxRequestFunc:queryRealm,
});
© www.soinside.com 2019 - 2024. All rights reserved.