Skip to content

高级功能

本节介绍 SunlightTable 组件的高级使用方法,包括自定义渲染、树形表格、合并单元格、可编辑表格等功能。

自定义渲染

SunlightTable 组件支持通过插槽自定义列的渲染内容,可以实现复杂的自定义显示效果。

示例

禁用

配置说明

参数说明类型默认值
slotName自定义渲染插槽名称string-

树形表格

SunlightTable 组件支持树形表格功能,可以展示层级结构的数据,支持懒加载、自定义展开图标、行点击事件等高级功能。

示例

高级树形表格示例

展示树形表格的高级功能,包括懒加载、自定义展开图标、行点击事件等

禁用

配置说明

参数说明类型默认值
tableProps.treeProps树形表格的属性配置{ children?: string; hasChildren?: string }{ children: 'children' }
tableProps.defaultExpandAll是否默认展开所有行booleanfalse
tableProps.expandRowKeys展开行的 key 数组(string | number)[]-
tableProps.defaultExpandedKeys默认展开的行的 key 数组(string | number)[]-

合并单元格

SunlightTable 组件支持合并单元格功能,可以通过 spanMethod 属性实现复杂的合并逻辑,包括跨行合并、跨列合并和动态合并规则。

示例

禁用

配置说明

参数说明类型默认值
tableProps.spanMethod单元格合并方法(params: { row: any; rowIndex: number; columnIndex: number }) => { rowspan: number; colspan: number }-

可编辑表格

SunlightTable 组件支持可编辑表格功能,可以直接在表格中编辑数据,支持多种编辑组件类型。

示例

请选择状态
请选择类型
请选择城市
暂无数据
共 20 条
  • 1
  • 2
前往

配置说明

参数说明类型默认值
editable是否可编辑booleanfalse
editType编辑组件类型'input' | 'input-number' | 'select' | 'date-picker' | 'textarea''input'
editProps编辑组件的属性配置Record<string, any>-
editOptions选择器选项Array<{ label: string; value: any; disabled?: boolean }>-

支持的编辑类型

编辑类型说明适用场景
input文本输入框普通文本输入
input-number数字输入框数字类型输入
select下拉选择器从固定选项中选择
date-picker日期选择器日期类型输入
textarea多行文本输入框长文本输入

多级表头

SunlightTable 组件支持多级表头功能,可以实现多级表头的展示,支持嵌套表头、自定义宽度、对齐方式等高级功能。

示例

高级复杂表头示例

展示多层级复杂表头功能,包括嵌套表头、自定义宽度、对齐方式和合并单元格

配置说明

参数说明类型默认值
children子列,用于复杂表头合并TableItem[]-

高级搜索

SunlightTable 组件支持高级搜索功能,可以通过配置搜索表单实现复杂的搜索条件,包括多条件搜索、异步选项加载、搜索列配置等功能。

示例

高级搜索示例

展示 SunlightTable 组件的高级搜索功能,包括多条件搜索、异步选项加载、搜索列配置等

用户姓名
员工状态
请选择状态
部门
请选择部门
城市
请选择城市(异步加载)
未激活
暂无数据
共 100 条
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 10
前往

配置说明

参数说明类型默认值
visibleSearchColumns可见的搜索列string[]-
searchCollapsed搜索表单是否收起booleanfalse
searchThemeStyle搜索表单主题样式{ borderColor?: string; focusBorderColor?: string; focusBoxShadow?: string; backgroundColor?: string; boxShadow?: string }-
search-columns搜索列配置SearchColumn[]-
search-param搜索参数Record<string, any>-

搜索列配置说明

参数说明类型默认值
prop字段名string-
label标签名string-
type输入类型'input' | 'select' | 'date-picker' | 'input-number' | 'textarea''input'
placeholder占位符string | string[]-
span所占列数number6
options选项列表或异步函数Array<{ label: string; value: any }> | () => Promise<any[]>-
multiple是否支持多选booleanfalse
clearable是否支持清空booleanfalse
disableToggle是否禁用隐藏booleanfalse
attrs额外属性Record<string, any>-
config组件配置Record<string, any>-