制表符-Ajax,如何恢复表头持久性

时间:2019-12-06 20:42:56

标签: javascript ajax persistence tabulator

我正在尝试从本地存储中恢复表头顺序,但不适用于ajax响应中的头。

#include <QApplication>
#include <QSettings>
#include <QDir>

int main(int argc, char *argv[]) {
    QApplication a(argc, argv);

    QString path = QDir::toNativeSeparators(qApp->applicationFilePath());

    QSettings set("HKEY_CURRENT_USER\\Software\\Classes", QSettings::NativeFormat);
    set.beginGroup("YourApp");
    set.setValue("Default", "URL:YourApp Protocol");
    set.setValue("DefaultIcon/Default", path);
    set.setValue("URL Protocol", "");
    set.setValue("shell/open/command/Default", QString("\"%1\"").arg(path) + " \"%1\"");
    set.endGroup();

    return 0;
}

有什么办法可以做到这一点? 我试图使用var table = new Tabulator("#example-table", { placeholder: "No Data Available", //display message to user on empty table movableColumns: true, //enable user movable columns persistence: { columns: true, }, ajaxURL: "/ajax/showall", //ajax URL persistenceWriterFunc: function (id, type, data) { //id - tables persistence id //type - type of data being persisted ("sort", "filter", "group", "page" or "columns") //data - array or object of data if (Array.isArray(data) && data.length) { // array does not exist, is not an array, or is empty // ⇒ do not attempt to process array console.log('do not save empty array'); localStorage.setItem(id + "-" + type, JSON.stringify(data)); }; }, persistenceReaderFunc: function (id, type) { //id - tables persistence id //type - type of data being persisted ("sort", "filter", "group", "page" or "columns") return data ? JSON.parse(data) : false; }, ajaxResponse: function (url, params, response) { this.setColumns(response.header); return response.data; } }); 等,但没有任何效果。 我不想仅仅为了获取表头而发送ajax查询。

1 个答案:

答案 0 :(得分:0)

无需手动执行任何操作,只要启用持久性模块,只要启用了持久性列选项,它将自动为您完成所有操作

var table = new Tabulator("#example-table", {
    persistence:{
        columns: true, //persist columns
    }
});

有关更多信息,请参见Persistence Documentation

只要您的ajax响应设置了列,它们就会自动更新本地存储选项。

如果您要替换内置存储,则只需使用 persistenceWriterFunc persistenceReaderFunc 选项选项,它似乎没有出现,您需要在这里执行