DataTables.排序
DataTables 排序对象。
说明
可以用 order
或 order()
方法来设置 DataTables 中的排序。两者都能接受各种输入形式,选择最容易使用的形式取决于 DataTable 的配置。
在使用 Typescript 定义 后,排序类型被定义为
interface OrderIdx {
idx: number;
dir: 'asc' | 'desc';
}
interface OrderName {
name: string;
dir: 'asc' | 'desc';
}
type OrderArray = [number, 'asc' | 'desc'];
type OrderCombined = OrderIdx | OrderName | OrderArray;
type Order = OrderCombined | OrderCombined[];
属性
对象 - 基于索引
在这种情况下,排序被定义为一个对象,它有 idx
(列索引)和 dir
(方向)属性,用来定义表格按哪一列排序。例如
{
idx: 1,
dir: 'asc'
}
对象 - 基于名称
基于名称的排序与基于索引的相同,但用 columns.name
定义的列名来识别列。这在你有很多列或列会根据用户输入而改变时特别有用。
{
name: 'first_name',
dir: 'desc'
}
单维数组(元组)
在这个形式中,使用一个包含两个元素的数组来定义应用于表的排序。数组的第一个元素是列索引,第二个元素是方向。以下内容与基于索引的对象示例相匹配,但使用了数组语法
[
1,
'asc'
]
二维数组
多列排序通过提供上述选项的数组来定义。如果你愿意,可以混用类型(尽管这比较少见,可能有点混乱!)
[
{ idx: 1, 'asc' },
{ idx: 2, 'desc' }
]
返回类型
请注意,order()
方法总是会返回一个一维数组(元组)数组,其中包含列索引和方向。这是 DataTables 在内部使用的表示形式,当 DataTables 执行排序操作时,其他形式会被转换为元组数组。