從 1.7 版升級到 DataTables 1.8 版
DataTables 1.8 在開發時考慮了向後相容性,因此對於大多數開發人員來說,它應該可以直接替換。儘管如此,仍有一些小問題您應該注意,尤其是在開發外掛程式時。
常見升級問題
- FixedColumns
- 如果您在 thead 或 tfoot 元素中使用多個列,DataTables 1.8 的處理方式已變更,這會對 FixedColumns 擴充功能產生連鎖反應。請更新至最新的 FixedColumns 版本 (2.0.1+)。
- ColReorder
- 由於標頭和頁尾的佈局新方法,ColReorder 必須更新才能完全與 DataTables 1.8 搭配使用。它在大多數情況下「看起來」可以正常運作,但是若沒有更新 ColReorder,ColVis 的整合將會失敗。請更新至最新的 ColReorder 版本 (1.0.3+)。
bSortCellsTop
:- 先前,DataTables 會自動將排序處理程式新增到每個欄位的頂端唯一儲存格。在 1.8 版中,由於改進了複雜標頭的功能,現在會自動應用於最底部的儲存格(此類事件處理程式最常見的位置)。使用屬性 bSortCellsTop 並將其設定為 true,可以還原原始行為。
新的初始化選項
- bDeferRender - 延遲渲染
- mDataSource - 資料來源設定
- iDeferLoading - 在伺服器端處理時,延遲第一個 XHR 並使用表格中已有的資料進行第一次繪製
- bSortCellsTop - 控制標頭中的哪個儲存格應該用於點擊以進行排序的選項
- sDefaultContent - 如果 mDataProp 或資料本身為 null,則使用的儲存格預設內容
- fnPreDrawCallback - 允許取消繪製的回呼函式
- sLoadingRecords - 使用 Ajax 來源的資料時,在空白表格列中顯示載入訊息(而不是像 1.7 版那樣顯示「無記錄」)。對於伺服器端處理,只需將您的載入訊息放入純 HTML 中即可。
API 方法更新
- fnOpen - 第二個參數現在可以是節點或 jQuery 物件以及純字串
- fnGetData - 新的第二個參數,用於取得目標列中欄位的資料
- fnUpdate - 使用資料來源選項 (mDataProp) 時,第一個參數可以是物件
外掛程式和 API 開發人員的變更
anThExtra
和anTfExtra
- 這些屬性是 aoColumns 中欄位定義物件的一部分,現在已移除,因為 DataTables 內部快取不再需要它們。在外掛程式中參考它們會導致錯誤發生。
- fnGetNodes
- 由於 1.8 版中新增的延遲渲染功能,fnGetNodes 現在只會傳回已建立的節點。這表示如果您使用延遲渲染,您可能會收到總共可能的 TR 元素子集合。
如果您在升級過程中遇到任何其他問題,請在論壇中告知我。