iT邦幫忙

2022 iThome 鐵人賽

DAY 15
1
自我挑戰組

那些年我用 Ant Design 做過的網頁元件系列 第 15

Day15:Ant Design 裡的 Table(part3)

  • 分享至 

  • xImage
  •  

  今天要介紹的是兩層以上的數據在表格完整呈現的方式,其實之前我也沒想過原來樹型結構的資料,也可以使用折合按鈕在表格內展示,直到翻文件學習到就覺得也太實用了吧!因為有時候其實資料內容並不是很多,如果因為層級較多就要進到詳細頁或彈窗才能顯示,其實也不見得是好的呈現方式,對吧?
  其實我這次鐵人賽的主題 Ant Design ,雖然有簡體中文的官方文件,但是在開發時難免也會有卡關不理解的時候,我有發現真的很少人仔細分享一些進階功能(包含在stackoverflow上也是),所以才有這系列的文章,由淺入深的介紹元件使用方式,想幫助初步使用 Ant Design 的人也可以有一些方向。

一、Table 的 tree data

跟之前使用表格方式一樣,比較特別的是在資料的整理。

1. 最基本的使用方式:引用與呼叫它

import { Table } from 'antd';
const App = () => (
  <div>
    <Table 
        columns={columns} 
        dataSource={data} 
     />
  <div/>
);

export default App;  

2. dataSource 裡包 children

  dataSource 就是放你要呈現在表格那一行一行的資料,如果要呈現樹狀結構,最重要的重點就是要把子層資料包進去父層的「children」裡,因為 ANTD 是以這個關鍵字去做識別,你的每行資料裡只要有 children 這個參數,那它會視為你有子層結構需要做折合顯示,不需要在 table 本身做什麼設定。dataSource 的 children 則要注意要把資料的 key 值跟父層資料整理一致,這邊用文字可能難以理解,可以看下方圖文說明。

https://ithelp.ithome.com.tw/upload/images/20220930/20140920HputPT1rje.png
data內children的結構示意圖

依照上述範例結構整理資料,就可以看到在表格自動呈現出樹狀折合鈕啦!

我的 codepen連結

https://ithelp.ithome.com.tw/upload/images/20220930/20140920kQKi5cAuFQ.png
codepen 練習成果

二、Table 的 雙層資料 實際使用範例

看完上面簡單的介紹後,下面提供我的一些簡單範例,若大家有興趣也可以到線上編輯器裡玩玩看唷!

https://ithelp.ithome.com.tw/upload/images/20220930/201409207oBGxUx3h6.png
先前專案元件示意圖

上一篇
Day14:Ant Design 裡的 Table(part2)
下一篇
Day16:Ant Design 裡的 Table(part4)
系列文
那些年我用 Ant Design 做過的網頁元件30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 則留言

0
kk00915
iT邦新手 4 級 ‧ 2022-10-18 10:01:23

看起來好像真的很簡單!

我要留言

立即登入留言