欄位可見性
欄位可見性事件 - 當欄位的可見性變更時觸發。
描述
此事件會在欄位的可見性透過 column().visible()
方法變更時觸發,並且對於使用欄位的外掛程式來說,可以方便辨識欄位可見性狀態的變更,並更新它們自己的狀態以考量該變更。
響應式整合:如果您使用 DataTables 的響應式擴充功能,它會影響欄位的可見性,但它不使用 DataTables 的欄位可見性選項,因此此事件不會因響應式顯示或隱藏欄位而觸發。請改用 responsive-resize
事件。
請注意,與所有 DataTables 發出的事件一樣,事件物件上都有一個可用的 DataTables API 實例(第一個參數)。此外,這些事件會以 dt
命名空間觸發。因此,若要監聽此事件,您也必須使用 dt
命名空間,只需將 .dt
附加到您的事件名稱即可,如下方範例所示。
類型
function function( e, settings, column, state, recalc )
- 參數
名稱 類型 選用 1 e
否 jQuery 事件物件
2 settings
否 DataTables 設定物件
3 column
否 已變更狀態的欄位索引
4 state
否 欄位可見性狀態:如果欄位現在隱藏則為
false
,如果可見則為true
5 recalc
否 自 1.10.10 起:欄位寬度重新計算:如果隱藏欄位時未執行欄位寬度計算(也就是說,
column().visible()
的第二個參數為false
),則為false
,否則,true
或undefined
表示已重新計算欄位寬度。當修改多個欄位的可見性時,這有助於提高效能。在所有欄位都設定了可見性狀態後,應呼叫
columns.adjust()
方法一次。
範例
在欄位可見性變更時通知
let table = new DataTable('#myTable');
table.on('column-visibility.dt', function (e, settings, column, state) {
console.log(
'Column ' + column + ' has changed to ' + (state ? 'visible' : 'hidden')
);
});
相關
以下選項直接相關,並且在您的應用程式開發中可能也很有用。