2024 年 8 月 21 日 星期三
作者:Allan Jardine

DataTables React 元件

這早就該做了 - 結果證明 React 並非曇花一現(誰知道呢! </sarcasm>),因此我帶著如釋重負的心情,以及一如既往發佈新軟體的喜悅,在這篇文章中介紹 DataTables 的 React 元件。

React 自十多年前首次發布以來,對前端開發產生了深遠的影響,它所利用的許多概念現在已被其他框架廣泛使用。在2023 年的 JS 狀態調查中,它是使用最廣泛的 UI 函式庫。在您不太可能沒有使用過 React 的情況下,他們的井字遊戲教學是一個很好的入門方式。在本文的其餘部分,我將假設您對 React 的基本概念(元件、屬性、狀態、JSX 等)感到滿意。

新的 DataTables React 元件基本上是現有 DataTables 函式庫的包裝器,以一種熟悉 React 使用者的方式公開它,同時仍然提供 DataTables 的所有功能。

讓我們直接進入一些新的 DataTables React 元件的範例 - 這些範例都託管在優秀的 StackBlitz 上,這是一個基於瀏覽器的 IDE 和開發環境,可讓您建置和執行專案。 在這種情況下,我使用 ViteTypescript 建立了簡單的 React 應用程式,展示 DataTables 元件的不同部分。

安裝

DataTables 手冊包含如何安裝和使用 DataTables React 元件的完整詳細資訊,但讓我們在此涵蓋基本知識。

首先,使用您的套件管理器安裝 datatables.net-reactdatatables.net-dt 套件

# npm
npm install --save datatables.net-react datatables.net-dt

# yarn
yarn add datatables.net-react datatables.net-dt

然後要在您自己的元件中使用 DataTables 元件,您需要 import 它和 DataTables 核心,然後將 DataTables 核心指定為元件中要使用的函式庫,如下所示

import DataTable from 'datatables.net-react';
import DT from 'datatables.net-dt';

DataTable.use(DT);

這將為您提供一個 <DataTable> React 元件,您可以在自己的元件中使用。

請注意核心 DataTables 函式庫使用了 -dt 後綴。這代表 DataTables 的預設樣式。也提供適用於 Bootstrap、Bulma、Semantic UI 和其他樣式的其他樣式套件。使用 DataTables 下載建置器以取得要使用的套件清單。

使用

一旦安裝並在您的元件中註冊,您將可以使用 <DataTable> 元件在您的 JSX 中使用(如果您喜歡其他名稱,可以透過變更上面使用的 import 陳述式來變更名稱)。它接受可以用於描述表格標頭和頁尾的子元素

<DataTable>
    <thead>
        <tr>
            <th>Name</th>
            <th>Location</th>
        </tr>
    </thead>
</DataTable>

該元件接受一些屬性,可以用於設定 DataTable,包括 ajaxcolumnsoptions。請參閱文件以了解完整詳細資訊。

初始化

以下顯示在 React 應用程式中使用 DataTables 的最基本範例

import { useState } from 'react';
import DataTable from 'datatables.net-react';
import DT from 'datatables.net-dt';

import './App.css';

DataTable.use(DT);

function App() {
  const [tableData, setTableData] = useState([
    [ 'Tiger Nixon', 'System Architect' ],
    [ 'Garrett Winters', 'Accountant' ],
    // ...
  ]);

  return (
        <DataTable data={tableData} className="display">
            <thead>
                <tr>
                    <th>Name</th>
                    <th>Position</th>
                </tr>
            </thead>
        </DataTable>
    );
}

export default App;

文件

這就是開始使用 DataTables React 元件的方法!當然,還有更多內容,包括將 React 元件放入表格儲存格的能力、使用事件和 DataTables API。請參閱 DataTables React 文件,以了解這些點和其他方面的完整詳細資訊。

原始碼和意見回饋

此元件的原始碼可在 Github 上取得,並隨時歡迎提出改進和增強的建議。如果您對改進有一些想法,請使用論壇。同樣地,如果您遇到任何問題,請在論壇中發佈,並提供一個 StackBlitz 專案或最小的 git 儲存庫的連結,以示範該問題以便進行除錯。