Skip to content

Desc 描述列表

说明

感觉 el-descriptions 组件用起来不够方便且不够灵活,所以模仿编写了 y-desc 组件,实现了它的大部分功能,也摒弃了一些不太常用的功能,主要特点:

  • 一定程度上简化了组件的使用,使用Lodash的get方法获取值,外部提供数据及配置即可
  • 使用 grid 优化了布局,支持响应式(根据组件宽度动态调整列数)
  • 默认支持内容展示超宽省略及tooltip功能

注意:

在默认只展示内容时,组件内部使用配置项的 path 属性或 index 作为key值

但是如果使用插槽展示表单等场景下,需要提供 prop 属性,并且在配置中要唯一

用法示例

基础用法

默认3列,各列是等宽的,支持 border 属性

姓名
张三
年龄
25
邮箱
zhangsan@example.com
电话
13800138000
部门
技术部
职位
前端工程师
薪资
15000
地址1
北京市朝阳区某某街道某某小区北京市朝阳区某某街道某某小区北京市朝阳区某某街道某某小区
地址2
北京市海淀区某某街道某某小区
姓名
张三
年龄
25
邮箱
zhangsan@example.com
电话
13800138000
部门
技术部
职位
前端工程师
薪资
15000
地址1
北京市朝阳区某某街道某某小区北京市朝阳区某某街道某某小区北京市朝阳区某某街道某某小区
地址2
北京市海淀区某某街道某某小区

响应式列数

column 属性支持使用函数来根据组件宽度动态调整,可以手动调整页面宽度来查看效果

姓名
张三
年龄
25
邮箱
zhangsan@example.com
电话
13800138000
部门
技术部
职位
前端工程师
薪资
15000
地址1
北京市朝阳区某某街道某某小区北京市朝阳区某某街道某某小区北京市朝阳区某某街道某某小区
地址2
北京市海淀区某某街道某某小区
姓名
张三
年龄
25
邮箱
zhangsan@example.com
电话
13800138000
部门
技术部
职位
前端工程师
薪资
15000
地址1
北京市朝阳区某某街道某某小区北京市朝阳区某某街道某某小区北京市朝阳区某某街道某某小区
地址2
北京市海淀区某某街道某某小区

默认插槽用法

当不指定具体的 prop 插槽时,可以使用默认的 labelcontent 插槽来统一自定义所有项的显示;

姓名
默认内容
年龄
默认内容
邮箱
默认内容
电话
默认内容
部门
默认内容
职位
默认内容

具名插槽用法

对于需要使用插槽的配置项,需要提供 prop 属性,<prop>-label 是每列中 label 的插槽名,<prop>-content 是每列中 content 的插槽名;

姓名
张三
年龄
25
邮箱
zhangsan@example.com
电话
13800138000
这是department的label插槽
技术部
职位
前端工程师
薪资
15000
地址1
北京市朝阳区某某街道某某小区北京市朝阳区某某街道某某小区北京市朝阳区某某街道某某小区
地址2
北京市海淀区某某街道某某小区
姓名
张三
年龄
25
邮箱
zhangsan@example.com
电话
13800138000
部门
职位
前端工程师
薪资
15000
地址1
北京市朝阳区某某街道某某小区北京市朝阳区某某街道某某小区北京市朝阳区某某街道某某小区
地址2
北京市海淀区某某街道某某小区

API

Attributes

属性名说明类型默认值
config配置项数组object
data数据对象object
direction布局方向,同 el-descriptionsenum'horizontal'
column列数number / function3
labelWidthlabel 宽度string / number'auto'
label-stylelabel 样式object
content-stylecontent 样式object
label-alignlabel 文本对齐方式enum'left'
content-aligncontent 文本对齐方式enum'left'
empty-textcontent 内容为空时显示的内容string''

DescItem Properties

属性名说明类型默认值
label标签文本string''
content显示的内容,一般用于显示固定内容,优先级最高any
path取值路径,即 lodase 的 get 方法的 path 参数;如果未指定,则使用 label 作为取值路径string
prop选项keystring
noTooltip是否禁用tooltip功能booleanfalse
labelStylelabel 样式object
contentStylecontent 样式object
labelWidthlabel 宽度string / number'auto'
labelAlignlabel 文本对齐方式enum'left'
contentAligncontent 文本对齐方式enum'left'
span列的数量;'column'表示占据整行,最好只在响应式列数时使用number / 'column'1
format内容格式化函数function
textTooltipy-text-tooltip组件的tooltip配置object

Slots

名称说明参数
[prop]-label具名插槽,每一项的自定义标签内容(优先级最高)object
[prop]-content具名插槽,每一项的自定义内容(优先级最高)object
label默认标签插槽,当未指定 [prop]-label 时使用object
content默认内容插槽,当未指定 [prop]-content 时使用object