DataTables.Order
DataTables 排序物件。
描述
DataTables 中的排序可以使用 order
或 order()
方法設定。兩者都可以接受各種形式的輸入,選擇哪種最容易使用取決於您的 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 執行排序操作時,其他形式會轉換為元組陣列。