0

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

4

1 回答 1

0

在 3.5 中,唯一的方法是使用setData函数自己触发 ajax 请求来触发加载,从而允许您在调用它之前做任何您想做的事情。

在 4.0 版以后,您可以使用ajaxRequestFunc属性来覆盖默认的 ajax 加载函数并返回一个承诺,因此您可以将您的逻辑放在那里并在准备好时解决该承诺:

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);
            })
        }
    },
});
于 2018-11-07T20:06:59.110 回答