columns().order()

通过 columns() API 方法应用多列排序。

DataTables 核心库提供了通过 column().order() 方法设置排序的功能,但没有复数等价项。虽然可以使用 order() 设置多列排序,但该方法要求使用列索引。

此插件提供了复数 columns().order() 方法,以便您在保留 columns() 选择器选项的好处时设置多列排序。

用法

此插件可通过多种不同方式获取和使用。

浏览器

此插件在 DataTables CDN 上可用

JS

然后,该插件将自动向全局 DataTables 实例注册自身。如果您使用的是 AMD 加载器(如 Require.js),也可以使用此文件。

请注意,如果您使用的是多个插件,那么将插件组合成单个文件并在您自己的服务器上托管,而不是向 DataTables CDN 发出多个请求,在性能方面可能是有益的。

NPM

这些插件都可以在 NPM 上使用(也可以与 Yarn 或任何其他 Javascript 包管理器一起使用),作为 datatables.net-plugins 的一部分。要使用此插件,请首先安装插件包

npm install datatables.net-plugins

ES 模块

然后,如果您使用的是 ES 模块,则导入 datatables.net、您需要的任何其他 DataTables 扩展以及插件

import DataTable from 'datatables.net';
import 'datatables.net-plugins/api/columns().order().mjs';

CommonJS

如果您使用的是适用于 Node 的 CommonJS 加载器(例如与较早版本的 Webpack 或非模块化 Node 代码一起使用),请使用以下方法 require 插件

var $ = require('jquery');
var DataTable = require('datatables.net');
require('datatables.net-plugins/api/columns().order().js');

示例

// Apply multi-column sorting with a common direction
table.columns( [ 1, 2 ] ).order( 'desc' ).draw();
// Multi-column sorting with individual direction for the columns
table.columns( [ 1, 2 ] ).order( [ 'desc', 'asc' ] ).draw();
// Multi-column sorting based on a name selector
table.columns( [ 'sign_up_date:name', 'user_name:name' ] ).order( 'desc' ).draw();

版本控制

如果您有任何关于如何改进此插件的想法,或者发现任何错误,它都在 GitHub 上,欢迎提出拉取请求!