Skip to content

FinDesc 描述列表 ​

组件与命名规范:组件名主推 FDesc,别名导出 FinDesc。

基于 schema 配置的描述列表组件,支持多种渲染方式、动态显隐、格式化、点击事件等功能。

基础用法 ​

通过 schema 和 data 配置描述列表。

loading

带边框 ​

设置 border 属性显示边框。

loading

格式化显示 ​

使用 formatter 对数据进行格式化。

loading

插槽渲染 ​

通过具名插槽自定义内容渲染。

loading

动态组件 ​

使用 component 属性渲染动态组件。

loading

动态显隐 ​

通过 visible 函数控制项的显示。

loading

Render 函数 ​

使用 render 函数返回 VNode 进行复杂渲染。

loading

点击事件 ​

监听 item-click 事件响应点击。

loading

API ​

FinDescProps ​

属性说明类型默认值
schema描述项配置数组FinDescItem[][]
data数据源对象Record<string, any>{}
title标题文本string—
extra操作区文本string—
border是否带有边框booleanfalse
column一行显示的列数number3
direction排列方向'horizontal' | 'vertical''horizontal'
size列表尺寸'large' | 'default' | 'small''default'
labelWidth标签宽度string | number—
labelAlign标签对齐方式'left' | 'center' | 'right''left'
align内容对齐方式'left' | 'center' | 'right''left'
colon无边框模式下是否显示冒号booleantrue
emptyText空值占位符string'--'
customClass自定义类名string | string[] | Record<string, boolean>—

FinDescItem ​

属性说明类型默认值
key唯一标识string | number—
label标签文本string必填
field数据字段名string—
value直接指定值(优先级高于 field)any—
span占据的列数number1
rowspan占据的行数number1
width列宽度string | number—
minWidth最小列宽度string | number—
labelWidth标签宽度string | number—
align内容对齐方式'left' | 'center' | 'right'—
labelAlign标签对齐方式'left' | 'center' | 'right'—
className自定义类名string—
labelClassName标签自定义类名string—
slot插槽名称string—
visible是否可见boolean | ((params) => boolean)true
formatter格式化函数(params) => any—
render渲染函数(params) => VNodeChild—
component动态组件string | Component—
componentProps组件 propsobject | ((params) => object)—

渲染优先级:slot > render > component > formatter > 默认值显示

params 参数:包含 { value, data, item, index } 四个字段

Events ​

事件名说明参数
item-click点击描述项时触发(item: FinDescItem, index: number)

Exposes ​

方法名说明类型
getSchemaData获取当前可见的 schema 数据() => FinDescItem[]
refresh手动触发可见性重新计算() => void

Slots ​

插槽名说明参数
title自定义标题—
extra自定义操作区—
[item.slot]自定义描述项内容{ value, data, item, index }