跳到主要内容
前端术语库

表格

Table

UI 组件也叫:数据表格、Data Table、Data Grid、数据网格

一句话:用行和列排列多条结构相同的数据,每行一条记录、每列一个字段,方便横向比较、排序和筛选。

详细解释

表格把一批结构相同的记录排成网格:每一行是一条记录,每一列是一个字段,表头写明字段名。因为同一字段上下对齐,用户扫一列就能比较数值、发现异常,所以后台的订单、用户、日志等数据几乎都用表格,常配合排序、筛选、分页和勾选批量操作。

表格、列表、卡片怎么选:条目同质、数量多、字段在四个以上且需要比较,用表格;每条只有标题加一两行说明、主要是逐条浏览,用列表;每条以图片等视觉内容为主、数量不多、不需要逐字段对比,用卡片。

字段只有两三个时用表格会显得空旷,列表更合适。在手机上,宽表格要允许横向滚动,或改成卡片式展示。

示例

灰度线框示意,只表达结构,不代表具体视觉风格。

怎么跟 AI 说

可以直接贴给 Cursor、Claude Code 等工具,把里面的业务内容换成你自己的。

做一个订单表格,列依次为:勾选框、订单号、客户、金额(右对齐,带千分位)、状态(用标签显示)、下单时间、操作(编辑、删除链接)。表头固定,金额和时间列可排序;行悬停时背景变浅灰,勾选后顶部出现批量操作栏;底部放分页,数据为空时显示空状态。

结构与适用场景

结构描述

由表头行、数据行和单元格组成,常附带勾选列、操作列、排序和筛选图标,以及底部的分页。

适用场景

  • 条目同质、数量多、每条有四个以上字段,用户需要逐列比较时
  • 后台管理中需要对记录排序、筛选、批量勾选和操作时
  • 金额、数量等数值数据需要上下对齐,方便看出大小和异常时

不适用场景

  • 每条数据只有两三个字段,例如标题加时间,用列表更清爽
  • 每条内容以图片、封面为主、需要视觉浏览时,应该用卡片
  • 在手机窄屏上展示字段很多的数据,表格会被严重压缩,考虑改为卡片或列表
  • 只展示一条记录的详细信息时,应该用描述列表

常见坏用法

  • 只有两三个字段的数据也做成表格,留下大片空列,不如用列表
  • 金额、数量等数字列左对齐且小数位数不统一,无法上下比较
  • 单元格里塞进大段文字或大图,行高忽高忽低,失去表格便于扫读的优势

识别特征

  • 顶部一行加粗或带底色的表头
  • 下方多行数据按列对齐,行与行之间有细分隔线
  • 首列常有复选框,末列常有编辑、删除等文字链接

DOM 线索

插件本地识别时匹配的 CSS 选择器(标签、ARIA role、常见组件库 class)。

  • table:not([role="presentation"]):not([class*="picker"]):not([class*="calendar"])
  • [role="grid"]
  • [role="table"]
  • .table
  • .ant-table
  • .el-table
  • [class*="MuiTable-root"]
  • [class*="MuiDataGrid-root"]
  • .arco-table
  • .t-table
  • .n-data-table
  • [data-slot="table"]