UI Design System
build dev

Descriptions

展示对象的标签—值属性。中文惯用名:描述列表。
稳定本期新增已接入

元信息

字段值
规范 IDcomponent.descriptions
名称Descriptions
二级分类数据展示(data-display)
用途展示对象的标签—值属性
描述中文惯用名:描述列表。

预览

静态结构:Descriptions 根节点 data-slot="descriptions",可选 title(text-base font-medium,mb-3)下接 CSS Grid(gridTemplateColumns 按 column 均分,缺省 3 列)。无边框形态每项为 label(弱化色)+ value 的行内 flex 对;bordered 形态为边框栅格(gap-px 露底边线 + 圆角外框),每项 label 固定 128px 宽灰底单元格、value 为弹性单元格。value 支持 string | number。

DSL 结构

DslNode
{
  "type": "Descriptions",
  "props": {
    "title": "客户信息",
    "column": 2,
    "items": [
      {
        "label": "客户名称",
        "value": "杭州云杉科技有限公司"
      },
      {
        "label": "联系人",
        "value": "陈晨"
      },
      {
        "label": "联系电话",
        "value": "0571-8800-1234"
      },
      {
        "label": "状态",
        "value": "合作中"
      }
    ]
  }
}

何时用

何时使用

  • 详情页展示单个对象的标签—值属性:订单信息、用户资料、配置摘要。
  • 只读呈现成组字段,列数固定、无需行内操作。
  • 详情区顶部需要小标题统领一组属性。

何时不用

  • 多对象按行列对比或批量操作:使用 Table;Descriptions 只服务单对象。
  • 需要编辑录入:使用 Form 系组件,Descriptions 为纯展示。
  • 展示集合条目:使用 List;展示层级或时间序列:使用 Tree / Timeline。

变体

变体视觉形态适用场景
默认(无边框)label + value 行内排列,列间留白栅格轻量摘要、卡片内属性组
bordered 带边框单元格边框栅格,label 灰底固定列宽正式详情页,属性多且需明确边界
column 列数grid 按 column 均分(缺省 3)按容器宽度与字段密度调整列数
带标题属性组上方小标题详情页多组属性分区(如「基础信息」「支付信息」)

API 属性

属性类型默认值说明
titlestring—标题;缺省不渲染标题区
itemsDescriptionsItemData[][]描述项列表(可含表达式解析后的数组);项结构 { label, value: string
columnnumber3每行列数(grid 均分)
borderedbooleanfalse带边框样式:label 固定宽灰底单元格 + 边框栅格
classNamestring—通用:根节点 class(与内置样式合并)
styleCSSProperties—通用:根节点内联样式

使用规范

  • 仅承载单对象的只读属性;value 为 string | number,复杂内容(链接、图片、操作)不放进来。
  • column 按容器宽度与字段数量设定:宽容器 3-4 列,窄容器 1-2 列;同一详情页多组 Descriptions 保持列数一致。
  • label 用名词短语、不带冒号;同组 label 长度尽量接近,bordered 下 label 列宽固定 128px,超长提前精简。
  • 属性较多时用 title 分组(基础信息 / 联系信息 / 其他),而非一组塞数十项。
  • 值为空时显式给占位(如「—」),不省略条目造成栅格错位。

正例

  • ✓ 订单详情:title「订单信息」,bordered + column={3} 展示订单号、金额、状态等 6-9 项。
  • ✓ 用户资料卡:无边框 column={2},label「邮箱」「手机」配只读值。
  • ✓ 多组详情:两个 Descriptions 分别以「基础信息」「配置信息」为 title 顺序排布。

反例

  • ✕ 用 Descriptions 平铺多个同类对象(应使用 Table;它只表达单对象)。
  • ✕ 把可编辑字段塞进 Descriptions(录入场景应使用 Form)。
  • ✕ column 设得过大导致 label/value 挤压换行,或同页各组列数不一致。

Design Token 映射

不适用:组件 tokenRefs 为空:样式 Token 数据尚未接入,三层映射(Primitive → Semantic → Component)待样式 Token 接入后回填。