Artefact UI

Search

博客

文档

关于

演练场

编辑

菜单Chevron Down

博客

文档

关于

演练场

编辑

Table 表格 - Docs - Artefact

Table 表格

Data Display
智能自动检测

Introduction

Table 组件是一个强大的布局元素,用于在客户端页面上清晰地渲染复杂的表格数据集结构。它完整支持零 JS 响应式模板和数据驱动的 CMS 配置模式,支持干净的纵向滚动包裹、动态列对齐预设以及悬停高亮。


Usage

你可以轻松地从仪表盘直接映射数据并美化表格样式。

1. 带自定义对齐的基础纯文本表格

使用 plain 变体的标准文本清单,价格右对齐以便阅读。

{
  "type": "table",
  "variant": "plain",
  "columns": [
    { "header": "Name", "key": "name" },
    { "header": "Category", "key": "category" },
    { "header": "Price", "key": "price", "align": "end" }
  ],
  "rows": "[{\"name\": \"Laptop\", \"category\": \"Electronics\", \"price\": \"$999.00\"}, {\"name\": \"Coffee Mug\", \"category\": \"Home & Kitchen\", \"price\": \"$15.00\"}]"
}
Product Inventory
NameCategoryPrice
LaptopElectronics$999.00
Coffee MugHome & Kitchen$15.00

2. 斑马纹交互表格(Surface 变体)

具备交替行阴影斑马纹、交互悬停高亮以及结构边框。

{
  "type": "table",
  "variant": "surface",
  "striped": true,
  "interactive": true,
  "columnBorder": true,
  "columns": [
    { "header": "System Service", "key": "service" },
    { "header": "Server Node", "key": "node", "align": "center" },
    { "header": "Status", "key": "status", "align": "end" }
  ],
  "rows": "[{\"service\": \"Auth Endpoint\", \"node\": \"EU-West\", \"status\": \"Online\"}, {\"service\": \"Payment API\", \"node\": \"US-East\", \"status\": \"Degraded\"}, {\"service\": \"File Storage\", \"node\": \"APAC-South\", \"status\": \"Online\"}]"
}
System ServiceServer NodeStatus
Auth EndpointEU-WestOnline
Payment APIUS-EastDegraded
File StorageAPAC-SouthOnline

Props

属性CMS 字段类型默认值描述 / 支持的选项
列配置 (columns)list-列配置的有序列表(详见下方 Column 子属性)。
行数据 (rows)text-表示表格行的原始 JSON 序列化数组字符串(例如 "[{\"item\": \"Laptop\"}]"),在服务器端渲染时自动解析。
视觉变体 (variant)select"plain"表格容器的总体设计布局风格。
• 选项:"plain""surface"
斑马纹 (striped)booleanfalse为 true 时,为交替行渲染微妙的浅色背景阴影,提升数据可读性。
行高亮 (interactive)booleanfalse在桌面端启用跨活动单元格的鼠标悬停背景动画。
列边框 (columnBorder)booleanfalse在表格列之间渲染垂直分隔边框线。
粘性表头 (stickyHeader)booleanfalse滚动时将主表头行固定在表格视口顶部。

Column 列表属性(columns

columns 列表参数中的每一项都接受以下字段:

子属性类型必填描述 / 支持的选项
表头文本 (header)string渲染在表头行内的列标题。
项键 (key)string行数据对象中直接映射到该单元格的属性键。
文本对齐 (align)select"start"单元格值的对齐方式,用于数值右对齐。
• 选项:"start""center""end"

Architecture Notes

  • 优化的 JSON 字符串强制转换: 由于每个表格区块的原始行结构动态变化,Sveltia CMS 通过 rows 字段以转义的 JSON 数组字符串传递行项目。该字符串在渲染时安全解析,保证包体积最优,无需繁重的负载序列化。
  • 纯 CSS 布局整洁: 表头、列轮廓和斑马纹依赖轻量且健壮的 Panda CSS 工具变量,消除布局跳动,并在移动端触控屏上即时渲染。
  • 滚动固定: 使用 stickyHeader 固定列头时,利用溢出包裹内表头的标准 position: sticky,绕过客户端脚本中昂贵的滚动事件监听。