Ant Design Table詳解

一、常見使用場景

Ant Design Table是Ant Design中非常常見的一個組件,它主要用於數據的展示與編輯。在Web應用中,Table通常被用於展示後台數據,如訂單列表、用戶列表等等。Ant Design Table受到普及,一方面是因為它的美觀大方、易於使用,另一方面是由於它極易擴展,能夠滿足使用者的多種需求。

下面我們來看一個Ant Design Table的基本用法:

{/* 引入Ant Design組件 */}
import { Table } from 'antd';

{/* 定義表格列 */}
const columns = [
  { title: '用戶名', dataIndex: 'username', key: 'username' },
  { title: '手機號', dataIndex: 'phone', key: 'phone' },
  { title: '郵箱', dataIndex: 'email', key: 'email' },
];

{/* 定義表格數據 */}
const data = [
  { key: '1', username: '張三', phone: '13800000001', email: 'zhangsan@xxx.com' },
  { key: '2', username: '李四', phone: '13800000002', email: 'lisi@xxx.com' },
];

{/* 在渲染函數中渲染表格 */}
function App() {
  return (
    
  );
}

export default App;

這裡,我們首先在組件內調用了Table組件,其中定義了表格的列(columns)和數據源(dataSource),最後將其渲染到頁面中。實際上這段代碼就可以在你的項目中直接使用。

在以上代碼中,我們只是使用了Table組件的基本用法,它的功能還遠不止於此。

二、Table組件API

Ant Design Table的功能十分豐富,可自定義的API非常之多,下面我們逐一進行介紹。

1. columns

columns是Ant Design Table的核心屬性,表示表格的列。它是一個數組,數組內儲存了表頭對應的各個列的屬性。

const columns = [
  { title: '用戶名', dataIndex: 'username', key: 'username' },
  { title: '手機號', dataIndex: 'phone', key: 'phone' },
  { title: '郵箱', dataIndex: 'email', key: 'email' },
];

其中:

  • title:表示表頭標題
  • dataIndex:表示該列對應的數據源字段名
  • key:表示該列的key值,常用於React數據渲染過程中識別該元素是否需要重新渲染

2. dataSource

dataSource是數據源,表示表格展示的數據。

const data = [
  { key: '1', username: '張三', phone: '13800000001', email: 'zhangsan@xxx.com' },
  { key: '2', username: '李四', phone: '13800000002', email: 'lisi@xxx.com' },
];

數據源中的每一個元素代表了表格中的一行數據。數據源中必須包含一個key屬性,否則會出現警告信息。

3. rowSelection

rowSelection用於控制表格的選中狀態,具有如下的屬性:

  • type(string):表示選擇類型,可以是checkbox或radio
  • onChange(function(selectedRowKeys, selectedRows)):選中項發生變化時的回調函數
  • selectedRowKeys(array[string]):指定選中項的key數組
  • getCheckboxProps(function(record)):設置checkbox屬性
import { useState } from 'react';

function App() {
  const [selectedRowKeys, setSelectedRowKeys] = useState([]);

  const onSelectedChange = (selectedRowKeys) => {
    // 選中項發生變化時的回調函數
    setSelectedRowKeys(selectedRowKeys);
  };

  return (
    
); }

4. pagination

pagination用於控制表格的分頁功能,具有如下屬性:

  • current(number):當前頁數,從 1 開始
  • defaultCurrent(number):默認的當前頁數
  • pageSize(number):每頁條目數
  • defaultPageSize(number):默認每頁條目數
  • total(number):總條目數
  • onChange(function(page, pageSize)):頁碼改變的回調
  • showQuickJumper(boolean):是否可以快速跳轉至某頁
function App() {
  return (
    
); }

5. loading

loading用於設置表格的加載狀態,可以是下面的三種狀態:

  • true:展示表格的loading動畫
  • {`{ delay: 1000 }`}:在1000ms後再展示loading動畫
  • false:表示不顯示loading動畫
function App() {
  return (
    
); }

6. size

size用於設置表格的大小,可選值有middle、small兩種。

function App() {
  return (
    
); }

7. scroll

scroll用於設置表格的滾動,可設置 x、y、{`{ x: number | true, y: number }`}等屬性。

function App() {
  return (
    
); }

8. bordered

bordered用於控制表格是否有邊框。

function App() {
  return (
    
); }

9. expandedRowRender

expandedRowRender用於自定義表格的展開行。

function expandRowRender(record) {
  return (
    

{record.detail}

); } function App() { return (
); }

10. onChange

onChange函數是表格數據變化的回調,可以拿到變化後的Pagination等信息。

function onChange(pagination, filters, sorter, extra) {
  console.log(pagination, filters, sorter, extra);
}

function App() {
  return (
    
); }

三、總結

Ant Design Table是一個功能豐富、易擴展的表格組件,在前端開發中具有重要的作用。本文簡要介紹了Ant Design Table的常見使用場景,以及詳細解釋了其主要API,希望能給讀者帶來幫助。

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/237417.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-12 12:05
下一篇 2024-12-12 12:05

相關推薦

  • 如何修改ant組件的動效為中心

    當我們使用Ant Design時,其默認的組件動效可能不一定符合我們的需求,這時我們需要修改Ant Design組件動效,使其更加符合我們的UI設計。本文將從多個方面詳細闡述如何修…

    編程 2025-04-29
  • Ant Design組件的動效

    Ant Design是一個基於React技術棧的UI組件庫,其中動效是該組件庫中的一個重要特性之一。動效的使用可以讓用戶更清晰、更直觀地了解到UI交互的狀態變化,從而提高用戶的滿意…

    編程 2025-04-29
  • Linux sync詳解

    一、sync概述 sync是Linux中一個非常重要的命令,它可以將文件系統緩存中的內容,強制寫入磁盤中。在執行sync之前,所有的文件系統更新將不會立即寫入磁盤,而是先緩存在內存…

    編程 2025-04-25
  • 神經網絡代碼詳解

    神經網絡作為一種人工智能技術,被廣泛應用於語音識別、圖像識別、自然語言處理等領域。而神經網絡的模型編寫,離不開代碼。本文將從多個方面詳細闡述神經網絡模型編寫的代碼技術。 一、神經網…

    編程 2025-04-25
  • Python安裝OS庫詳解

    一、OS簡介 OS庫是Python標準庫的一部分,它提供了跨平台的操作系統功能,使得Python可以進行文件操作、進程管理、環境變量讀取等系統級操作。 OS庫中包含了大量的文件和目…

    編程 2025-04-25
  • Linux修改文件名命令詳解

    在Linux系統中,修改文件名是一個很常見的操作。Linux提供了多種方式來修改文件名,這篇文章將介紹Linux修改文件名的詳細操作。 一、mv命令 mv命令是Linux下的常用命…

    編程 2025-04-25
  • 詳解eclipse設置

    一、安裝與基礎設置 1、下載eclipse並進行安裝。 2、打開eclipse,選擇對應的工作空間路徑。 File -> Switch Workspace -> [選擇…

    編程 2025-04-25
  • git config user.name的詳解

    一、為什麼要使用git config user.name? git是一個非常流行的分布式版本控制系統,很多程序員都會用到它。在使用git commit提交代碼時,需要記錄commi…

    編程 2025-04-25
  • nginx與apache應用開發詳解

    一、概述 nginx和apache都是常見的web服務器。nginx是一個高性能的反向代理web服務器,將負載均衡和緩存集成在了一起,可以動靜分離。apache是一個可擴展的web…

    編程 2025-04-25
  • Python輸入輸出詳解

    一、文件讀寫 Python中文件的讀寫操作是必不可少的基本技能之一。讀寫文件分別使用open()函數中的’r’和’w’參數,讀取文件…

    編程 2025-04-25

發表回復

登錄後才能評論