DataTables:如何在初始化后设置配置?

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

我使用的是WordPress的插件 TablePress 的表格。它创建了 数据表 桌子,我想 启动后修改.

问题:表格是 已初始化 的插件,这意味着我不能再使用构造函数。

// Already set by the plugin:
$('#tablepress-1').dataTable({
    columnDefs: [
        { targets: -1, className: 'dt-body-right'}
    ]
});

我在找类似的东西(伪代码)。

var table = $('#tablepress-1').dataTable();
table.updateConfig({
    columnDefs: [
        { targets: -1, className: 'dt-body-right'}
    ]
})

有什么办法吗?

javascript wordpress datatables tablepress
1个回答
1
投票

你到底想修改什么,不是很清楚。很多选项是不能修改的,比如说要修改的是 columnDefs 需要重新初始化(这需要 destroy: true). 如果你要修改的选项是通用静态的,你可以扩展至 数据表默认:

$.extend( true, $.fn.dataTable.defaults, {
  columnDefs: [
    { targets: '_all', className: 'dt-body-right' } // _all not -1
  ]
})

className 和任何其他 default 仍然可以被传递给构造函数的选项所覆盖。 如果这是问题所在,你可以 "猴子补丁 "DataTables。

const orgDT = $.fn.DataTable
$.fn.DataTable = function(config) {
   config.columns[0].className += ' table-success'
   return orgDT.call(this, config)
}

这样可以100%控制 "tablepress "对数据表的初始化 -- 配置被简单地拾取,并且可以在表被实例化之前被改变。

© www.soinside.com 2019 - 2024. All rights reserved.