Skip to content

ProDescriptions 超级描述列表

ProDescriptions 超级描述列表组件是在 ElDescriptions 的基础上进行拓展,因此完全兼容该组件的所有 Props 配置、Emit 事件、Slots 插槽。

描述列表内容有 3 种自定义方式渲染:

  • render:完全自定义内容渲染,支持 h 函数、jsx/tsx
  • renderHTML:返回 HTML 字符串渲染内容
  • slots:根据配置项的 prop 生成对应的内容插槽,生成规则为 {prop},和 render 函数功能一致

描述列表标签有 2 种自定义方式进行渲染:

  • render:完全自定义标签渲染,支持 h 函数、jsx/tsx
  • slots:根据配置项的 prop 生成对应的标签插槽,生成规则为 {prop}-header,和 render 函数功能一致

如果同时存在多个方式,只生效一个,优先级从高到低(描述列表内容和描述列表标签同理)。

基础用法

基础使用
名称Teek性别1状态1
标签success执行进度30代码块 const getData = async params => { const data = await getData(params) return { list: data.data, ...data } }
评分3.5开关true时间Tue Oct 21 2025 18:15:38 GMT+0000 (Coordinated Universal Time)

自定义内容 (render)

通过在单个 column 中配置 render 属性,返回 VNodestring 来自定义内容渲染。

这里演示通过 h 函数创建 VNode

名称Teek状态1执行进度
30%
评分

自定义内容 (jsx/tsx)

除了 h 函数,你还可以使用 jsxtsx 自定义内容渲染。

警告

使用 jsxtsx 时,请在 script 上将 lang=ts 改为 lang=tsx

html
<script setup lang="tsx">
名称Teek状态1执行进度
30%
评分

自定义内容 (renderHTML)

如果你只想对内容进行替换,可以使用 renderHtml 属性返回一个可信的 HTML 字符串。

名称Teek状态1执行进度30
评分3.5

自定义内容 (插槽)

自动根据配置项的 prop 属性生成插槽,因此你也可以使用插槽自定义单元格渲染。

生成插槽的规则为当前 prop 的值,假设一个 column 的 prop 为 username,那么插槽为 username

名称Teek状态1执行进度
30%
评分

自定义标签 (render)

通过在单个 column 中配置 renderLabel 属性,返回 VNodestring 来自定义标签渲染。

名称Teek状态1

自定义标签 (jsx/tsx)

除了 h 函数,你还可以使用 jsxtsx 自定义标签渲染。

警告

使用 jsxtsx 时,请在 script 上将 lang=ts 改为 lang=tsx

html
<script setup lang="tsx">
名称Teek状态1

自定义标签 (插槽)

自动根据配置项的 prop 生成对应的插槽,生成规则为 {prop}-label

名称Teek状态1

可编辑

提示

  • 超级列表数据建议是响应式,这样表格才会监听到数据的变化并进行更新
  • 如果传入 data 数据时,表单数据不会和表格数据同步更新,请使用 formChange 事件手动同步
  • 如果传入 api 来让超级表格内部代理数据时,则表单数据会自动更新表格数据
label 位置
direction 方向
边框
名称--状态--标签--
执行进度--代码块--评分--
开关--时间--
传入请求函数 & 编辑时内部自动更新描述列表数据
名称--状态--标签--
执行进度--代码块--评分--
开关--时间--

组合式函数

通过 组合式函数 函数,监听任意一个超级描述列表,然后就通过函数来控制该描述列表。

名称Teek状态1标签success
执行进度30代码块 const getData = async params => { const data = await getData(params) return { list: data.data, ...data } }评分3.5
开关true时间Tue Oct 21 2025 18:15:38 GMT+0000 (Coordinated Universal Time)

函数式组件渲染

通过 createDescriptionsComponent 函数式创建 ProDescriptions 组件。

名称Teek状态1标签success
执行进度30代码块 const getData = async params => { const data = await getData(params) return { list: data.data, ...data } }评分3.5
开关true时间Tue Oct 21 2025 18:15:38 GMT+0000 (Coordinated Universal Time)

函数式渲染

通过 createDescriptions 函数式动态渲染 ProDescriptions 组件到指定元素。

该函数会返回 useProDescriptions 函数的返回值,如果你不清楚什么是 useProDescriptions,请查看 组合式函数

DescriptionColumn 配置项

属性名说明类型默认值
prop唯一键string
label标签string / function
span列的数量number / function
rowSpan单元格应该跨越的行数number / function
width列的宽度string / number / function
minWidth列的最小宽度string / number / function
labelWidth列标签宽string / number / function
hidden是否隐藏boolean / function false
options字典枚举数据array
optionsProp指定 Options 的 key,如果设置了则优先从缓存获取对于 key 的 Options 数据string
optionField字典指定 label && value && children 的 key 值object
transformOption自定义当前 option 选项function
order排序(从大到小)number
renderLabel自定义 label 渲染function
render自定义内容渲染function
renderHTML自定义内容渲染(HTML 格式)function
formatValue自定义内容function
editable是否为编辑态booleanfalse
formPropsProForm Propsobject ProForm
formColumnProFormItem Props,等于 ProForm 的单个 columnobject FormItemColumnProps
el指定组件进行修饰(如 ElTagElLink 等)string
elProps指定 el 组件的 propsobject / function
elSlotsel 组件的插槽object
...其他扩展属性,支持所有 ElDescriptionsItem Attributes......

render、插槽参数类型 DescriptionsRenderParams

ts
export interface DescriptionsRenderParams {
  /**
   * 当前值
   */
  value: any;
  /**
   * 当前列配置
   */
  column: DescriptionColumn;
  /**
   * 当前描述列表标签
   */
  label: string;
  /**
   * 当前渲染数据
   */
  data: Record<string, any>;
}

Attributes

属性名说明类型默认值
data描述列表数据,如果传入该配置项且有数据,则不会执行 api 请求object
requestApi请求数据的 apifunction
defaultRequestParams默认请求参数object
transformData对请求成功的数据进行处理function
columns描述列表列配置array []
descriptionsItemProps描述列表 DescriptionItem 全局配置object
card是否使用卡片背景booleanfalse
editable描述列表整体是否为编辑态booleanfalse
editButton是否显示编辑按钮booleantrue
editText编辑按钮文案array ["编辑", "退出编辑"]
formPropsProForm Propsobject
showReset是否显示重置按钮booleantrue
submitText提交按钮文字string提交
resetText重置按钮文字string重置
submitLoading提交按钮 loadingbooleanfalse
footerAlign底部按钮对齐方式string right
footerStyle底部按钮组样式object
validate是否使用内置的表单校验功能booleantrue

Events

名称说明类型
formChange表单值改变事件function
edited进入编辑态事件function
editedCancel退出编辑态事件function
submit提交按钮事件function
reset重置按钮事件function

Slots

插槽名说明作用域插槽参数
edit-button自定义编辑按钮object
edit-button-after编辑按钮后侧插槽
footer自定义底部按钮组object
'prop'自定义内容插槽,根据配置项的 prop 生成object
'prop'-label自定义标签插槽,根据配置项的 prop 生成object
...el 指定组件类型后,支持传入该组件的插槽,如 el-tag 组件的 default 插槽...
...其他扩展属性,支持所有 ElDescriptions Slots...

Exposes

名称说明类型
proFormInstancesProForm 实例集合,每一个描述列表 Item 存储一个表单,key 是 propobject
openEdited打开编辑态function
closeEdited关闭编辑态function
getElFormInstance获取所有 ElForm 实例function