select.selectable
自:Select 2.1.0
設定一個函式,以決定是否應選取某列。
請注意 - 此屬性需要 DataTables 的 Select 擴充功能。
說明
在某些資料集中,您可能會發現您希望禁止選取某些特定資料列。此選項透過允許您定義一個函式來提供此功能,該函式將回傳一個值,以指示是否應根據您希望定義的任何邏輯選取某列。
該函式會傳入有關列的資訊,並且強烈建議您使用列資料來執行邏輯檢查,以盡可能保持函式運算速度。您可以使用表格節點,甚至在 API 中查詢該列,但是這些操作可能會減慢表格的速度,因為如果定義了此函式,則可以頻繁呼叫該函式。
如果未定義此函式(沒有預設函式),則所有列都被視為可選取的。
類型
函式 selectable( data, tr, index )
- 參數
名稱 類型 選用 1 row
否 列的資料來源物件或陣列(取決於
columns.data
)。2 tr
否 節點的
tr
元素。請注意,如果使用 Ajax 載入資料且尚未呈現該列,則此值可能為null
(請參閱deferRender
)。3 index
否 DataTable 中列的資料索引 (
row().index()
)。- 回傳
如果該列可選取,則回傳
true
,否則回傳false
。
預設值
- 值:
undefined
範例
使用列資料中的資料點作為可選取標誌
new DataTable('#example', {
select: {
selectable: rowData => rowData.outdated
}
});
檢查列中的資料以決定是否應可選取。 另外,根據相同的邏輯新增類別
new DataTable('#example', {
rowCallback: function (tr, rowData) {
if (rowData[2] === 'New York') {
tr.classList.add('unselectable');
}
},
select: {
selectable: function (rowData) {
return rowData[2] !== 'New York';
}
}
});
相關
以下選項直接相關,並且可能在您的應用程式開發中也很有用。