延遲渲染
自:DataTables 1.10 起
延遲渲染功能控制,可加快初始化的速度。
描述
當 DataTables 從 Ajax 或 Javascript 資料來源(分別為ajax
和 data
)載入資料時,它可以預先建立所有需要的 HTML 元素,或者它可以等到實際顯示每行的儲存格時才建立。此選項提供控制此行為的能力。
這實際上是一個效能參數 - 在處理大型資料集時,建立數千個 DOM 節點操作可能會花費大量時間。此選項允許 DataTables 僅在繪製時需要時才建立節點(表格主體中的列和儲存格)(必須啟用分頁才能生效)。
舉例說明,如果您載入一個包含 10,000 列的資料集,但分頁顯示長度僅為 10 條記錄,則當啟用延遲渲染時,DataTables 將僅建立 10 列,而不是建立所有 10,000 列。當最終用戶然後對資料進行排序、分頁或篩選時,將自動建立下一個顯示所需的列。這有效地將建立列的負載分散到頁面的生命週期中。
請注意,啟用時,不用說表格中並非始終提供所有節點,因此在使用 columns().nodes()
等 API 方法時,您必須將此納入考量。以下顯示了一個如何使用委派事件來處理這種情況的範例。
禁用此選項的唯一原因是您必須擁有所有 DOM 元素,即使是當前不在文檔中的元素。
類型
此選項可以給定以下類型
預設值
- 值:
true
範例
停用延遲渲染
new DataTable('#myTable', {
ajax: 'sources/arrays.txt',
deferRender: true
});
具有延遲渲染的事件
var table = new DataTable('#myTable', {
ajax: 'sources/arrays.txt'
});
table.on('click', 'tbody td', function () {
alert('Clicked on: ' + this.innerHTML);
});
相關
以下選項直接相關,可能對您的應用程式開發也很有用。