返回知识库

界面与交互 · 内容与数据展示

表格Table

以行列对齐展示同类结构化数据的组件;排序、选中、分页的状态长在物件上,让跨记录比较不靠记忆。

订单表:排序、选中、分页都长在物件上

亲手点列头切换排序、勾选若干行、翻到下一页,观察表头箭头、选中行与计数、分页页码怎样各自变化——这些状态不靠记忆,也不只靠底部说明。

第 0 步:这是「订单管理」表。点列头排序(升/降/取消三态)、勾选行、翻页—— 排序方向、选中计数、当前页码分别长在列头、工具条、分页条上,不用靠记忆。

排序:金额 ↓已选:1第:1/2 页 · 共 7
订单列表;列头可排序,行可勾选;窄屏隐藏客户列,保留订单、金额、状态。
客户
#1017何夕¥412已取消
#1022高远¥320已取消
#1021沈青¥256已支付
#1018阮立¥188已支付
1 / 2 页 · 共 7

对照:当前排序「金额 ↓」,已选 1 项,第 1/2 页。原因:排序方向长在列头、选中计数长在工具条、页码长在分页条,三处都不靠记忆。下一步:点列头切换排序,或点「导出选中」按当前选中导出。

面板教会的知识点

把刚才操作里看到的现象命名为六条规则。

  • 列对齐让记录可比:同一字段成一列,眼睛横向扫就能比金额、状态;这是表格区别于卡片列表的核心。
  • 排序方向长在列头:列头按钮带 ↑/↓/↕ 与 aria-sort,再点一次切换升/降,第三次取消;不用猜当前顺序。
  • 选中态长在行与计数:勾选行立刻高亮,工具条「已选 N 项」同步更新;表头全选框还区分「本页全选」与「部分选中」。
  • 分页位置长在分页条:当前页/总页数/总条数都写在条上,上一页/下一页在边界自动禁用。
  • 空导出被锁住:未勾选时「导出选中」禁用,避免导出空集;导出完成后选中集合保持不变。
  • 窄屏保留关键列:屏宽不足时先隐藏客户列,订单、金额、状态三条决策列仍可读,不强迫横向滚动。

什么时候用表格

从是否需要跨记录比较判断,而不是看数据多不多。

适合

同类记录、字段一致、要横向比较 ≥1 列——订单、成员、价格档位、权限矩阵。

先别用

只看单条详情(→ 卡片)、字段差异巨大(→ 描述列表)、或主要按时间线阅读(→ 时间线)。

怎么用:从列到窄屏的最短路径

一次到位的检查顺序。

  1. 定义列:每个字段一个 th,用 scope 关联行/列,表头与单元格语义对应。
  2. 给排序:仅给用户会比较的列加排序按钮,列头写清当前方向,支持取消回到默认顺序。
  3. 给选中:行 checkbox + 表头全选,选中态既在行也在计数,导出/批量操作按计数启用。
  4. 给分页:明确当前页/总页数/总条数,边界禁用上一页/下一页;排序变化时回到第 1 页。
  5. 给窄屏:先保留决策所需的关键列,其余隐藏或转成可展开的卡片摘要,而不是强迫横向滚动。

正反例:同一个「订单管理」需求

只改一个关键判断——是否让状态长在物件上。

正例

列头带方向箭头、勾选行有计数、分页有页码;用户一眼知道在看哪一段、选了哪些。

反例

表头纯文字、勾选无计数、分页只剩两个箭头;用户排序后看不出方向、翻页后不知在第几页。

快速自测

订单表排序后用户看不出当前按哪列、哪个方向,最直接的改进是?

继续查证

术语的技术定义和行为以这些一手或权威资料为准。

下一步学

和本知识点经常一起出现的概念。