# 数据表格

用于展示大量结构化的数据。

# 概念说明

# 属性

组件通用属性请参见组件通用说明

# 数据表格

# 数据属性
  • 数据源:表格展示的数据。数据源可以绑定变量或者逻辑。变量或逻辑的返回值可以是数组,也可以是对象。对象格式为{list:[], total:10}。

  • 数据类型:表格每一行的数据类型。该属性为展示属性,由数据源推导得到,无需填写。

  • 数据源参数:当数据源绑定的是逻辑,逻辑的第一个输入参数无法满足要求时,可绑定该字段值,传入更多的参数值。数据类型为对象{key:value}格式。

  • 初始加载:是否在表格出现时立即加载数据,默认开启。

  • 分页:是否展示分页组件,数据源调用接口是否加入分页参数,默认开启。

    说明

    分页功能会根据不同类型的数据源采用不同的分页方式:

    1. 若为前端数据源,则进行前端分页。

    2. 若为后端数据源,若调用的数据查询组件,则依据数据查询组件的分页属性进行后端分页。

    3. 若为后端数据源,若调用的接口数据,则依赖接口返回数据是否分页。

  • 显示分页大小:每页的数据条数。默认20条。在"分页"属性开启时有效。

  • 当前页数:当前加载的表格页。默认1。在"分页"属性开启时有效。

  • 分页大小选项:分页组件处是否展示每页显示数据条数的选择列表,需设置数组,如[10,20,30,40,50]。在"分页"属性开启时有效。

  • 显示总条目数:分页组件处是否显示表格总数。默认关闭。在"分页"属性开启时有效。

  • 显示分页大小:分页组件处是否展示数据条数的选择列表。默认开启。在"分页"属性开启时有效。

  • 显示跳转输入:分页组件处是否展示跳转到某一页的输入框。默认关闭。在"分页"属性开启时有效。 image-20210716175047988

  • 初始化排序规则:支持选择数据表格数据源中的某一条数据,配置默认排序规则,支持升序和降序。

# 状态属性

状态设置:可通过切换该选项,设置不同状态时该组件的展示形式,支持配置

  • 加载完成-有数据:正常展示数据,无状态配置项。

  • 加载完成-暂无数据:

    • 暂无数据提示文案:当表格为空时的提示文字。默认"暂无数据"。
  • 加载中:

    • 加载中提示文案:当加载表格数据过程中的提示文字。默认“正在加载中...”。

    • 自定义加载中触发条件:支持自定义状态的触发条件,未设置则默认为系统定义条件。

  • 加载失败:

    • 加载失败提示文案:加载失败的提示文字。默认"加载失败,请重试"。

    • 自定义加载中触发条件:支持自定义状态的触发条件,未设置则默认为系统定义条件。

# 选择属性
  • 值字段名:在表格开启了单选、多选操作、渲染树形数据中,指定数据唯一值的字段。

  • 单选值:当表格设置了单选列,或开启了可选行,选中某一行时的值。该取值由值字段名决定。一般会是id等能唯一标识每一行数据的值。

  • 多选值:当表格设置了多选列,选择多个值后获得了值列表数组。该取值由值字段名决定。

  • 可选行:表格行是否可点击选中,该取值由值字段名决定,一般会是id等能唯一标识每一行数据的值。默认关闭。

  • 可取消:与"可选行"属性对应,表示选中的行再点击时是否可以取消选中。默认关闭。

  • 只读:正常显示,但禁止选择或输入。

  • 禁用:置灰显示,且禁止任何交互(焦点、点击、选择、输入等)。

  • 可拖拽:表格行是否可拖拽放置。默认关闭。

# 样式属性
  • 表格标题:表格上方的标题信息。默认为空。

  • 标题对齐方式:表格上方的标题信息的对齐方式。默认"居中对齐"。

  • 表头加粗:表格每一列的表头文字是否加粗。默认开启。

  • 显示边框:表格是否展示边框。默认关闭。

  • 分隔线条:表格每列之间是否展示分隔线条。默认关闭。

  • 斑马条纹:表格行是否按斑马线条纹显示。默认关闭。

  • 显示表格头部:是否显示表格头。默认开启。

  • 表格头部吸顶:当页面滚动到顶时,表格头是否固定在头部,不随页面滚动。默认关闭。

  • 表格头部吸顶偏移量:与"表格头部吸顶"选项配合使用,表示表格头吸顶时与顶部的距离。

  • 默认列宽度:表格每列的默认宽度。

  • 表头字体颜色:动态设置表格字体颜色。只可绑定变量或表达式。

  • 内容区字体颜色:动态设置表格列字体颜色。只可绑定变量或表达式。

  • 背景颜色:动态设置表格背景颜色。只可绑定变量或表达式。

  • 背景图片:动态设置表格背景图片。只可绑定变量或表达式。

# 其它属性
  • 手风琴模式:表示点击展开行时,其他已经展开的行是否收起。在表格存在"展开列"时有效。
  • 可调整列宽:表格列之间是否出现调整样式,可以手动调整列宽。
  • 调整列宽效果:表示调整列宽时其他列宽的处理方式。在"可调整列宽"属性开启时有效。
  • 树形模式:表格是否以树型方式展示。默认关闭。
  • 父节点字段名:标识父节点字段名,用于标识表格行取哪个数据作为父级的判断,需同步配置“值字段名”。在"树行模式"属性开启时有效。
  • 子节点字段名:标识子节点字段名,用于表格显示时取哪个数据展示子树。在"树行模式"属性开启时有效。
  • 是否包含子节点字段名:表示当前行是否需要展示子节点的"展开/收起"图标。在"树形模式"属性开启时有效。
  • 关联选中类型:当选中父节点时,子节点是否相应选中等。在"树形模式"属性开启并且表格存在"多选列"时有效。

# 表格列

通过设置表格列属性,可自定义表格每列的功能。

  • 列字段:数据项中对应的字段名,如createdTime。
  • 列宽度:指定列宽,可以是数字或百分比,如100,或10%。
  • 固定列:开启后,当表格横向滚动条滚动时,该列会固定不会跟随滚动条滚动。
  • 可排序:开启后该列可排序,可设置默认顺序,升序或倒序。
  • 默认顺序:该列首次点击时的排序顺序。与表格属性中的"默认排序顺序"相同。
  • 省略显示:开启后,该列文本过长会省略显示,否则换行显示,默认关闭。
  • 隐藏该列:开启后不显示该列,默认关闭。
  • 列类型:可设置序号列、单选列、多选列、展开列或树型列。
  • 换页继续编号:支持换页后,继续上一页的列序号进行编号。
  • 起始序号:当列类型为"序号列"时有效。默认值为1。
  • 双击处理函数:用于可编辑表格,双击表格列时的处理函数。在表格是"可编辑"的表格时有效。

# 事件

支持加载前、加载后、切换分页前、切换分页后、排序前、排序后、筛选前、筛选后、选择前、选择触发、选择后、多选后、改变后、调整列宽后、展开行前、展开行后、拖拽开始时、拖拽经过时、拖拽放置时事件。

# 样式

基本样式说明请参见组件通用说明

# 主题样式

    • hover-background:鼠标hover到该表格行时表格行所显示的背景色,如 #223325
    • row-background-striped:表格条纹展示行背景色,如 #223325。即奇偶行表格的背景色设置
  • 表头
    • head-item-size:表格表头字体大小,如 1px
    • head-item-color:表格表头文字颜色,如 #223325
    • th-text-align:表格表头字体对齐方式,如 left。有三种取值:left、center、right
    • th-line-height:表格表头行高,如 1px
    • th-padding:表格表头内间距,如 1px
    • th-background-color:表格表头内背景色,如 #223325
  • 内容区
    • border-color:表格内容区边框颜色,如 #223325
    • td-color:表格内容区文字颜色,如 #223325
    • td-line-height:表格内容区行高,如 1px
    • td-padding:表格内容区内边距,如 1px
    • td-background-color:表格列内容区背景色,如 #223325
  • 其他
    • head-font-weight:表格表头字体加粗,如 normal、bold,也可以写具体数值,如500等
    • drop-ghost-border-color:表格拖拽放置示意线颜色,如 #223325。在表格开启拖拽的时候有效
    • drop-ghost-mask-background:表格拖拽放置示意框背景颜色,如 #223325。在表格开启拖拽的时候有效
    • subrow-background-dragging:表格被拖拽行子树背景颜色,如 #223325
    • row-background-dragging:表格被拖拽行背景颜色,如 #223325
    • drag-cursor:拖拽鼠标样式

# 表格内置逻辑

  • load:带缓存加载数据。
  • reload:清除缓存,重新加载数据。
  • getFields:获取表格中的列字段,数据类型为字符串(String)。
  • exportExcel:导出excel文件,可编辑页数、每页条数、文件名称和排序方式等参数。
    • page:页数,Integer类型,默认为1。
    • size:数据条数,Integer类型,默认为2000。
    • filename:导出的文件名称。
    • sort:排序列。
    • order:String类型,控制正序或是倒序,传入desc则为降序,asc则为升序。
    • excludeColumns:控制excel导出时不包含哪些列,参数是List<String>类型,里面存放中文列名集合。

# 注意事项

  • 在新增、修改、删除数据等操作后,一般调用reload逻辑重新加载表格数据,用户修改信息后会即时呈现数据。

  • 导出excel文件逻辑(exportExcel)最大支持一次性导出20万条数据,注意导出的数据越多则耗时越久,请根据实际情况配置导出的数量。

  • 导出的表格内容存在大量###的情况,需要手动调大excel文件的列宽度,即可正常显示。

    download

# 示例

# 需求场景

在数据表格中实现批量删除功能(蓝);对字段进行信息的补充(绿);固定表格操作列(红)。

# 功能要求

  • 多选列:对表格内的数据进行批量删除。
    1. 设置多选列属性。
    2. 获取数据对应的id数组。
    3. 调用删除逻辑。
  • 展开列:对表格内某个字段进行信息扩充。
  • 固定列:对表格操作列进行固定,左右拖动数据表格时被固定列不移动。

# 操作步骤

# 多选列

  1. 对数据表格首列属性设置为多选列,并删除表格列中自带的文本。

  2. 添加一个变量类型为 list<long>,将变量绑定到数据表格多选值属性。

    值字段名所写字段的类型即为多选值的字段类型,此时字段为 id 为 long 类型,故接收变量为 List<long> 类型。

  3. 设置批量删除按钮点击事件逻辑,即可通过循环和实体逻辑实现批量删除功能。

# 展开列

  1. 选择需要扩展的列,在属性中设置展开列。

  2. 拖入文本,设置对应补充信息与文本,发布即可实现补充信息扩展。

# 固定列

  1. 选择操作列,在属性中设置中打开固定列属性。

  2. 设置表格列宽度,当所有列宽度之和大于表格宽度时即可实现表格拖拽固定效果。

上次更新: 2023年06月26日