在Tabulator 3.5中手动触发ajaxLoader

时间:2018-11-07 10:24:28

标签: javascript ajax tabulator

我正在使用http://tabulator.info/的制表符3.5版。我用ajax请求填写表格。在加载期间,显示“加载图标”。在执行制表器的Ajax请求之前,我正在运行一些检查操作。在进行这些检查期间,我想已经显示制表符的加载图标。因此,有没有一种方法可以通过javascript手动触发打开/关闭加载图标?

1 个答案:

答案 0 :(得分:0)

在3.5中,唯一的方法是使用 setData 函数触发负载自己触发ajax请求来触发加载,从而使您可以做自己想做的一切在您调用它之前。

从4.0版开始,您可以使用 ajaxRequestFunc 属性覆盖默认的ajax加载函数并返回一个promise,因此您可以将逻辑放在其中并解决准备好时保证:

var table = new Tabulator("#example-table", {
    ajaxRequestFunc:function(url, config, params){
        return new Promise(function(resolve, reject){
            //do your pre loading logic here

            var promise = table.modules.ajax.defaultLoaderPromise.call(table.modules.ajax, url, config, params)
            .then(function(data){
                resolve(data);
            })
            .error(function(err){
                reject(err);
            })
        }
    },
});