# Table 表格
# Table 概述
主要用于展示大量结构化数据。
支持排序、筛选、分页、自定义操作、导出 csv 等复杂功能。
注意:非 template/render 模式下,需使用
h-table
。
# Table 代码示例
# 基础用法
表格的最简单用法。
# 斑马纹
设置属性 stripe
,表格会间隔显示不同颜色,用于区分不同行数据。
# 带边框,不显示表头
border
添加表格的边框线。
show-header
是否显示表头
# 特定样式
行:通过属性 row-class-name
可以给某一行指定一个样式名称。
列:通过给列 columns 设置字段 className
可以给某一列指定一个样式。
单元格:通过给数据 data 设置字段 cellClassName
可以给任意一个单元格指定样式。
# 固定表头
通过设置属性 height
给表格指定高度后,会自动固定表头。当纵向内容过多时可以使用。
width
表格宽度,单位 px
# 固定列
通过给数据 columns
的项设置 fixed
为 left
或 right
,可以左右固定需要的列。当横向内容过多时可以使用。
# 固定表头和列
同时应用上述两个属性,可以同时固定表头和列。
# 单选
通过设置属性 highlight-row
,可以选中某一行。
当选择时,触发事件 @on-current-change
,可以自定义操作,事件返回两个值 currentRow
和 oldCurrentRow
,分别为当前行的数据和上一次选择的数据。
通过给 columns
数据设置一项,指定 type: 'index'
,可以自动显示一个从 1 开始的索引列。
给 data 项设置特殊 key _highlight: true
可以默认选中当前项。
# 多选
通过给 columns
数据设置一项,指定 type: 'selection'
,即可自动开启多选功能。
给 data 项设置特殊 key _checked: true
可以默认选中当前项。
给 data 项设置特殊 key _disabled: true
可以禁止选择当前项。
正确使用好以下事件,可以达到需要的效果:
@on-select
,选中某一项触发,返回值为selection
和row
,分别为已选项和刚选择的项。@on-select-all
,点击全选时触发,返回值为selection
,已选项。@on-selection-change
,只要选中项发生变化时就会触发,返回值为selection
,已选项。@on-select-cancel
,在多选模式下有效,取消选中某一项时触发
# 排序
通过给 columns
数据的项,设置 sort-table: true
,即可对该列数据进行排序。
排序默认使用升序和降序,也可以通过设置属性 sortMethod
指定一个自定义排序函数,接收三个参数 a 、 b 和 type。
通过给某一列设置 sortType
可以在初始化时使用排序。
如果使用远程排序,可以设置 sortable: 'custom'
,然后在触发排序事件 @on-sort-change
后,进行远程排序,并手动设置新的 data,详见 API。
注意,排序并不会影响到源数据 data。
on-sort-change
排序时有效,当点击排序时触发。
on-row-click
单击某一行时触发当前行的数据。
on-row-dblclick
双击某一行时触发当前行的数据。
特别提示
组件内部排序使用js中Array的sort()方法,若data数据中带有null、undefined特殊关键字会影响排序结果,建议使用sortMethod自定义排序规则
# 筛选
通过给 columns
数据的项,设置 filters
,可进行筛选,filters 接收一个数组,详见 Demo 和 API。
必须指定一个筛选函数 filterMethod
才可以进行筛选,filterMethod 传入两个参数 value 和 row,详见 Demo 和 API。
如果指定 filterMultiple: false
,则使用单选,默认为多选。
注意,筛选并不会影响到源数据 data。
no-filtered-data-text
为筛选数据为空时显示的提示内容。
# 自定义列模板
通过给 columns
数据的项,设置一个函数 render
,可以自定义渲染当前列,包括渲染自定义组件,它基于 Vue 的 Render 函数。
render
函数传入两个参数,第一个是 h,第二个是对象,包含 row
、column
和 index
,分别指当前单元格数据,当前列数据(columns 内列数据),当前是第几行。
📺 学习 Render 函数的内容 (opens new window)
TIP
render
函数本质返回的是字符串,h-table 组件在内部对其进行了编译,如果使用了自定义组件 ,需要特别注意上下文,编译后的自定义组件,默认的上下文是 Table
所在的上下文,如果想让组件在指定的实例下编译,可以给 Table
设置属性 context
来指定上下文,比如本例指定当前路由页为上下文。一般情况不需要此配置,但如果你把 Table
作为一个 slot 封装在其 它组件里,这时 context
属性就很有用,比如父级是 $parent
,根组件 $root
。
# 可展开
当表格内容较多不能一次性完全展示时使用。
通过给 columns
数据设置一项,指定 type: 'expand'
,即可开启扩展功能。
给行数据 data 的某项设置 _expanded
为 true,可以默认展开当前行,设置 _disableExpand
可以禁用当前行的展开功能。
渲染展开区域与自定义列模板方法类似,使用 render 函数。当内容较复杂时,可拆分为组件或使用 JSX。
📺 学习 Render 函数的内容 (opens new window)
on-expand
展开或收起某一行时触发
其中引用的 table-expand.vue
文件如下:
<template>
<div>
<h-row class="expand-row">
<h-col span="8">
<span class="expand-key">职业:</span>
<span class="expand-value">{{ row.job }}</span>
</h-col>
<h-col span="8">
<span class="expand-key">兴趣:</span>
<span class="expand-value">{{ row.interest }}</span>
</h-col>
<h-col span="8">
<span class="expand-key">生日:</span>
<span class="expand-value">{{ row.birthday }}</span>
</h-col>
</h-row>
<h-row>
<h-col span="8">
<span class="expand-key">最喜欢的书:</span>
<span class="expand-value">《{{ row.book }}》</span>
</h-col>
<h-col span="8">
<span class="expand-key">最喜欢的电影:</span>
<span class="expand-value">{{ row.movie }}</span>
</h-col>
<h-col span="8">
<span class="expand-key">最喜欢的音乐:</span>
<span class="expand-value">{{ row.music }}</span>
</h-col>
</h-row>
</div>
</template>
<script>
export default {
props: {
row: Object,
},
};
</script>
<style scoped>
.expand-row {
margin-bottom: 16px;
}
</style>
# 尺寸
通过设置属性 size
为 large
或 small
可以调整表格尺寸为大或小,默认不填或填写 default
为中。
# 导出 csv
通过调用 exportCsv()
方法,可以将数据导出为 .csv
的表格文件,详见 API。
说明:
- 若导出数据需要换行,则需要在数据中需要换行处添加 br 标签
<br>
- 支持 IE10~IE11、Edge、Chrome、Firefox 全系列浏览器。
- Safari 需要手动修改后缀名为
.csv
。
# 表格和分页组合
# 数据为空时显示的提示内容
no-data-text
数据为空时显示的提示内容,默认显示暂无数据
# 多表头配固定列
TIP
注意:只有多行存在时表格才可以跨行
# canDrag 与 canMove 属性
canDrag
: 使用后可以移动列头之间的边线来改变列宽(需要在 border 显示竖线的情况下使用)canMove
:使用后可以拖拉列头改变列的前后顺序
同时可以使用以下方法监听过程
on-drag
:改变列宽时触发,参数为(新的宽度,列名)on-move
:改变列排序时触发,参数为(列初始 index,改变后新的位置 index)on-drag-drop
:拖拽行排序放开拖拽行时触发(v1.0.36)
# 表格内纵向滚动条滚动时触发 @on-scroll
表格内横向纵向滚动条滚动时均会触发 @on-scroll
返回当前纵向滚动条距离底部的距离(为 0 时表示滚动条已经滚动到最底部)及当前纵向滚动条距离顶部的距离
仅在 1.0.21 及其以上版本使用
# 多选时的行选中 :rowSelect 和 rowSelectOnly
rowSelect
:多选模式下使用行选中来选择rowSelectOnly
:多选模式下仅能通过行选中来选择,不能通过行选中来取消选择
注:已包含 rowSelect 的功能,所以不与 rowSelect 同时使用
需要 43 以上版本
# 汇总 :isSum 和 summationData
isSum
:在 column 中声明 isSum,会在汇总行生成该列的汇总数据,如需要自定义汇总算法,则需要通过 sumationData 来显示
summationData
:在 tabale 中插入一条汇总数据,格式与 data 一致, 直接指定汇总数据
sumType
:"money" :在列中配置了 isSum 之后,可以使用 sumType:"money"
指定汇总结果格式为金额
# 加载中 :loading
loading
:通过控制 loading
为 true
或 false
来显示 loading 页面
# 超出部分显示省略号 ellipsis
ellipsis
:超出部分显示省略号showTitle
:显示 title,(需要设置 ellipsis )
# 冻结高度 fixedAutoHeight
fixedAutoHeight
: 表格设置固定高度,当数据内容少于表格高度时,冻结列区域高度自适应(v1.0.40)
# 使用 _checked 标识选中状态:dataCheckedProp
data 中默认添加 _checked 属性记录当前选中状态,注:如初始化有默认选中项( _checked 为 true )
当选中项改变时,也会同步当前选中状态
(v1.0.40).
# 悬停显示完整列头信息:headerTooltip
column
中设置 headerTooltip:true
,可以实现鼠标悬停显示列头完整信息(v1.0.36).
# 使用 renderFilter 自定义筛选菜单的内容
设置 column 内的 renderFilter 可以使用 render 自定义筛选菜单内的内容
传入两个参数,第一个是 h,第二个为对象,包含 column 和 index,分别为当前列数据(columns 内列数据)和当前列索引。
关于 render 的详细教程可以参考:在 table 中使用 render
# 使用 Ctrl 和 Shift 多选 ctrSelection
在多选模式下,通过开启 ctrSelection
实现按住 ctrl
和 shift
多选
需要开启 highlight-row
# render 函数实现自定义渲染 title
在某些特殊场景下,鼠标移上表格时显示的 title 需要显示成 render 函数处理之后的值,这种场景可以通过 render 函数实现。
用 render 函数时只能通过 render 函数去实现每列的 title
用 render 函数不需要再去配置 showTitle 属性和 column 的 ellipsis 属性
# Table 高级示例
以上示例已经基本涵盖了表格组件的所有功能,我们根据实际业务场景,增加了一些较为复杂的示例,可以结合来看,更深入了解表格组件的使用。
# 带有分页的复杂表格
该表格来自于 TalkingData MarketingCloud (opens new window) 产品,展示的是人群画像列表,数据为模拟数据,分页只是提供效果展示,并非真实拉取服务端数据。
# 多列指标筛选的表格
该表格来自于 TalkingData Ad Tracking (opens new window) 产品,展示各种推广活动不同指标的数据,数据为模拟数据。 该示例主要展示固定列、自定义列数量以及排序的功能。
# 多种效果组合的表格
该示例主要展示了表格丰富的显示效果。
# Table API
# Table props
属性 | 说明 | 类型 | 默认值 |
---|---|---|---|
data | 显示的结构化数据,其中,字段 cellClassName 用于设置任意单元格的样式名称,因此数据不能使用该字段,详见示例特定样式。 | Array | [] |
columns | 表格列的配置描述,具体项见后文 | Array | [] |
stripe | 是否显示间隔斑马纹 | Boolean | false |
border | 是否显示纵向边框 | Boolean | false |
show-header | 是否显示表头 | Boolean | true |
width | 表格宽度,单位 px | Number | String | 自动 |
height | 表格高度,单位 px,设置后,如果表格内容大于此值,会固定表头 | Number | String | - |
canDrag | 表格是否可拖动(必须再border存在的情况下)改变表格列宽 | Boolean | true |
canMove | 表格是否可拖动,改变表格列顺序(此属性只在v1.0.10或以上版本有效) | Boolean | false |
returnOldIndex | 表格拖动on-move事件监听返回的index,默认返回当前表格展示列的下标,设置为true时返回原始的column拖拽后的排序数组,包含隐藏列 | Boolean | false |
disabled-hover | 禁用鼠标悬停时的高亮 | Boolean | false |
rowSelect | 多选时是否支持行选中,(仅在type为selection即多选下使用) | Boolean | false |
highlight-row | 是否支持高亮选中的行,即单选 | Boolean | false |
row-class-name | 行的 className 的回调方法,传入参数: row :当前行数据index :当前行的索引 | Function | - |
size | 表格尺寸,可选值为 large 、small 、default 或者不填 | String | - |
no-data-text | 数据为空时显示的提示内容 | String | 暂无数据 |
no-filtered-data-text | 筛选数据为空时显示的提示内容 | String | 暂无筛选结果 |
loading | 表格是否加载中 | Boolean | false |
loadingText | 自定义表格加载中文本(v1.0.73) | String | 加载中 |
headAlgin | 表头文字显示位置,left 左对齐、right 右对齐和 center 居中对齐,优先级低于 clomns 里面的 algin | String | left |
bodyAlgin | 表格体文字显示位置,left 左对齐、right 右对齐和 center 居中对齐,优先级低于 clomns 里面的 algin | String | left |
showTitle | 是否显示title(只在开启 ellipsis 后有效)(此属性只在1.0.9或以上版本有效) | Boolean | false |
lastColWidth | 列宽拖动时有效,表示最后一列在变小时的最小宽度(此属性只在1.0.14或以上版本有效) | Number | 80 |
canDragFixed | 左列固定列可以拖动(此属性只在1.0.14或以上版本有效) | Boolean | false |
patibleHeight | table设置固定列和固定高度时,table 总高度加上了滚动条高度,设置此属性去掉多余滚动条高度(此属性只在1.0.14或以上版本有效) | Boolean | false |
minColWidth | table自适应时,列的最小宽度,column 当列未设置 width 时生效(此属性只在1.0.55或以上版本有效) | Number | 90 |
minDragWidth | table宽度拖动时,列最小可拖动宽度 (此属性只在1.0.14或以上版本有效) | Number | 30 |
multiLevel | 提供table组件多级表头,其配置项目,具体见后文(此属性只在1.0.18或以上版本有效) | Array | null |
summationData | 汇总之后的一条数据,格式参考data,需在 column 中开启 isSum 属性,注意:表格列中无序号或多选框时无'汇总'字样(此属性只在1.0.18或以上版本有效) | Array | [] |
maxHeight | 设置表格的最大高度,不超过最大高度时自适应,超出后出现滚动条,暂无数据时高度为最大高度,不可小于最小值40(此属性只在1.0.19或以上版本有效) | Number || String | - |
notSort | data(数据)发生变化时,数据不进行重新排序此属性只在1.0.21或以上版本有效) | Boolean | false |
clickToSelect | 设置点击高亮选中和多选不高亮,clickToSelect与highlight-row不同时使用(highlight-row表示单选,不适用)(v1.0.28) 设置rowSelect=ture(多选的条件下适用) | Boolean | false |
ctrSelection | 仅开启highlight-row时支持ctrl和shift多选(v1.0.28) | Boolean | false |
notSetWidth | 表格宽度根据内容宽度自适应,且内容不换行,只在当前列不设置宽度时有效(v1.0.27) | Boolean | false |
autoHeadWidth | 表格宽度根据表头宽度自适应,只在当前列不设置宽度时有效,使用时需要设置 notSetWidth=true (v1.0.28) 表头自适应优先级高于表格(内容单元格)自适应 | Boolean | false |
closeExpandResize | 是否关闭展开过程中表格重新resize功能(v1.0.34) | Boolean | false |
disabledExpand | 禁用展开功能(v1.0.34) | Boolean | false |
fixedAutoHeight | 表格设置固定高度,当数据内容少于表格高度时,冻结列区域高度自适应(v1.0.40) | Boolean | false |
dataCheckedProp | data中默认添加_checked属性记录当前选中状态,注:如初始化有默认选中项(_checked为true)当选中项改变时,也会同步当前选中状态(v1.0.40) | Boolean | false |
rowSelectOnly | 单选或多选时支持点击行进行选中,再次点击不进行反选,多选时仅能通过勾选框反选(不能与rowSelect同时使用,需要开启highlight-row)(v1.0.47) | Boolean | false |
isMulitSort | 是否进行远程多列排序,(设置列排序时不进行本地排序,on-sort-change事件返回多列排序的条件)(v1.0.47) | Boolean | false |
clickHeadSort | 是否点击头部单元格进行排序(v1.0.53) | Boolean | false |
noDataHeight | 表格数据为空时,定义空表格的高度。注意:height > maxHegiht > adaptiveNoDataHeight 表格为空时,自定义空表格时,设置height, maxHegiht, adaptiveNoDataHeight 一定要大于等于(>=)空表格的内容。 (v1.0.63) 注意:自定义高度时,height高度或者maxHeight高度一定要大于自适应高度) | Number | - |
adaptiveNoDataHeight | 表格数据为空时,空表格body高度自适应。(v1.0.63) 优先级: adaptiveNoDataHeight > noDataHeight 理论上互斥 注意:自定义高度时,height 高度或者 maxHeight 高度一定要大于自适应高度) | Boolean | false |
customTrKey | 配置tr绑定的数据,为String时从data内取配置的字段名,为Array时从data内取配置的字段名拼接。 例如 data 内有个 sid 字段,配置customTrKey="sid",表格渲染时 tr 标签将与这个字段值绑定\(customTrKey为String\) 例如 data 内有 sid、uid 字段,配置:customTrKey="\['sid', 'uid'\]",表格渲染时 tr 标签将与这两个字段拼接的值绑定\(customTrKey为Array\) | String || Array | - |
isComplementColWidth | 控制拖拽缩小最后一列列宽时是否用相邻列补齐差值 | Boolean | false |
canDblclickTr | 控制是否可双击行触发双击事件(默认开启,不需要行双击事件可关闭,单双击间隔300ms关闭可改善单击略微延迟体验) | Boolean | true |
immediateRowClick | 开启后单击将立即触发单击事件,同时双击事件也将触发一次单击事件,可改善单击略微延迟体验 (v1.9.0) | Boolean | false |
# Table events
事件名 | 说明 | 返回值 |
---|---|---|
on-current-change | 开启 highlight-row 后有效,当前行选中的时候会触发 | currentRow :当前高亮行的数据oldCurrentRow :上一次高亮的数据_index :当前高亮行的数据的角标(只在v.1.20及以上有效) |
on-current-change-cancle | 开启 highlight-row 后有效,当表格的当前行取消选中的时候会触发 | currentRow :当前取消行的数据oldCurrentRow :上一次高亮的数据_index :当前取消行的数据的角标(只在v.1.20及以上有效) |
on-select | 在多选模式下有效,选中某一项时触发 | selection :已选项数据row :刚选择的项数据 |
on-select-cancel | 在多选模式下有效,取消选中某一项时触发 | selection :已选项数据row :取消选择的项数据 |
on-select-all | 在多选模式下有效,点击全选时触发 | selection :已选项数据 |
on-selection-change | 在多选模式下有效,只要选中项发生变化时就会触发 | selection :已选项数据selectInx :已选项数据索引集合(只在v1.0.12版本及以上) |
on-sort-change | 排序时有效,当点击排序时触发(column中设置sortable: true) | column :当前列数据(columns 内列数据)key :排序依据的指标order :排序的顺序,值为 asc 或 desc |
on-row-click | 单击某一行时触发 | 当前行的数据和index |
on-row-dblclick | 双击某一行时触发 | 当前行的数据 |
on-expand | 展开或收起某一行时触发 | row :当前行的数据status :当前的状态_index :当前取消行的数据的角标(只在v.1.64及以上有效) |
on-scroll | 表格内纵向滚动条滚动时触发 (横向滚动时也会触发,但返回值中的顶部高度固定,可以用于监听横向滚动的触发) | 返回第一个参数为当前纵向滚动条距离底部的距离(为0时表示滚动条已经滚动到最底部);第二个参数是当前纵向滚动条距离顶部的距离【返回顶部距离的参数仅在1.0.21及其以上版本使用】;第三个参数为滚动方向("x"代表水平滚动,"y"代表垂直滚动,v1.0.47) |
on-drag | 拖动表头是触发 | 返回当前拖动表头的宽度,和返回当前拖动表头key |
on-move | 拖动表头列排序时触发(此属性只在v1.0.10或以上版本有效) | 返回当前拖动表头原本的 index 和拖动后的 index |
on-drag-drop | 拖拽行排序放开拖拽行时触发(v1.0.36)(需要在column中设置type="drag")) | 返回当前拖拽行的序号和插入后的序号 |
on-filter | 过滤选择或者重置时触发,返回过滤后的数据(v1.0.58) | 过滤后的数据 |
# Table slot
名称 | 说明 |
---|---|
header | 表头(配合show-header使用) |
footer | 页脚 |
loading | 加载中 |
nodata | 暂无数据(v1.0.37) |
# Table methods
方法名 | 说明 | 参数 |
---|---|---|
exportCsv | 将数据导出为 .csv 文件,说明: [v1.0.15及其以上版本支持] .csv 。 | params(Object): 说明:columns 和 data 需同时声明,声明后将导出指定的数据,建议列数据有自定义render时,可以根据需求自定义导出内容 |
handlesort | 清除所有排序时使用(此属性只在v1.0.16版本以及以上有效) | this.$refs.xxx.handleSort('all','normal'); |
selectAll | 全选或者全不选当前表单数据 | this.$refs.xxx.selectAll(true/false); |
getFilters | 获取所有列选中的过滤条件(v1.0.41) | this.$refs.xxx.getFilters(); |
handleAddData | 从末尾处新增数据,此方法不重新渲染table,不可在清空table后使用(v1.0.66) | this.$refs.xxx.handleAddData(arr); arr:新增数据 |
handleDelData | 删除数据,此方法不重新渲染table,不可在清空table后使用(v1.0.66) | this.$refs.xxx.handleDelData(_index); _index: 当前行_index |
handleModifyData | 更新数据(v1.0.66) | this.$refs.xxx.handleModifyData(_index,obj); _index: 当前行; status:当前更新数据 |
handleCheckData | 勾选行(v1.3.0) | this.$refs.xxx.handleCheckData(index,status); index:行下标; status:勾选状态 |
setScrollLeft | 设置横向滚动条的位置(v1.6.0) | this.$refs.xxx.setScrollLeft(scrollLeft); scrollLeft:横向滚动条的位置(数据类型:Number) |
getAllData | 获取表格数据(v1.7.0) | this.$refs.xxx.getAllData(); |
# Table column
列描述数据对象,是 columns 中的一项
属性 | 说明 | 类型 | 默认值 |
---|---|---|---|
type | 列类型,可选值为 index、selection、expand、html、text(text此属性在v1.0.13或以上版本支持),radio(V1.0.27),drag(v1.0.36) | String | - |
title | 列头显示文字 | String | # |
key | 对应列内容的字段名(只允许字母、数字或字母数字与下划线、短横线的组合) | String | - |
width | 列宽 | Number | - |
align | 对齐方式,可选值为 left 左对齐、right 右对齐和 center 居中对齐 | String | left |
className | 列的样式名称 | String | - |
fixed | 列是否固定在左侧或者右侧,可选值为 left 左侧和 right 右侧(右侧时请添加ellipsis属性) | String | - |
hiddenCol | 是否隐藏当前列 | Boolean | false |
ellipsis | 开启后,文本将不换行,超出部分显示为省略号 | Boolean | false |
render | 自定义渲染列,使用 Vue 的 Render 函数。传入两个参数,第一个是 h,第二个为对象,包含 row、column 和 index,分别指当前行数据,当前列数据(columns 内列数据),当前行索引。 | Function | - |
renderHeader | 自定义列头显示内容,使用 Vue 的 Render 函数。传入两个参数,第一个是 h,第二个为对象,包含 column 和 index ,分别为当前列数据(columns 内列数据)和当前列索引。 | Function | - |
renderFilter | 自定义列头显示内容,使用 Vue 的 Render 函数。传入两个参数,第一个是 h,第二个为对象,包含 column 和 index ,分别为当前列数据(columns 内列数据)和当前列索引。(v1.0.45) | Function | - |
sortable | 对应列是否可以排序,如果设置为 custom ,则代表用户希望远程排序,需要监听 Table 的 on-sort-change 事件 | Boolean | false |
sortMethod | 自定义排序使用的方法,接收三个参数 a 、 b 和 type,当设置 sortable: true 时有效。type 值为 asc 和 desc | Function | - |
sortType | 设置初始化排序。值为 asc 和 desc | String | - |
filters | 过滤数据的选项,格式为数组,数组中每项包含 label 和 value 属性,使用过滤,必须同时配置 filterMethod | Array | - |
filterMethod | 数据过滤使用的方法,如果是多选的筛选项,对每一条数据会执行多次,任意一次返回 true 就会显示 | Function | - |
filterMultiple | 数据过滤的选项是否多选 | Boolean | true |
filterRemote | 使用远程过滤,接受三个参数当前列选中过滤条件值、当前列的key、当前列对象 | Function | - |
exportRender | 导出时数据重新渲染函数(接收cellData[当前单元格数据]、row[行数据],并返回重新渲染后的值)(此属性只在v1.0.16或以上版本有效) | Function | - |
headerTooltip | 鼠标指针悬停表头单元格时浮出提示信息展示完整内容(v1.0.36) | Boolean | false |
isSum | 列是否支持汇总,开启列汇总,表格自动计算该列累计结果显示在汇总行。如需使用自定义汇总算法请使用 summationData 方式开启汇总功能(v1.0.38) | Boolean | false |
sumType | 汇总结果格式化方式,默认数字类型,配置'money',则按金额进行格式化并保留两位小数,如1,000.00(v1.0.38) | String | - |
filteredValue | 筛选项的初始值,是 filters 中 label 的数组, | Array | - |
minWidth | table 自适应时,列的最小宽度,优先级高于 minColWidth | Number | -- |
sumFixed | 汇总结果保留小数设置,默认数字类型(不支持小数、负数),如果设置sumType, 小数位以sumFixed优先(v1.1.1) | Number | -- |
# Table multiLevel
列描述数据对象,是 multiLevel 中的一项
属性 | 说明 | 类型 | 默认值 |
---|---|---|---|
title | 多级显示文字 | String | # |
cols | 当前表头所占跨列数 | Number | 1 |
rows | 当前表头所占跨行数,被跨行单元格右移动(v1.0.24) | Number | 1 |
align | 对齐方式,可选值为 left 左对齐、right 右对齐和 center 居中对齐 | String | left |
className | 表头单元格样式名 | String | - |
hiddenCol | 是否隐藏当前表头列(此属性只在19版本及以上有效) | Boolean | false |
fixed | 表头标题是否固定在左侧或者右侧,可选值为 left 左侧和 right 右侧(v1.0.34) | String | - |
# table性能
不同行数据条数下加载时间
# | 10(行)*10(列) | 20(行)*10(列) | 100(行)*10(列) | 200(行)*10(列) | 1000(行)*10(列) |
---|---|---|---|---|---|
无render | 368ms | 395ms | 638ms | 918ms | 3274ms |
有render | 375ms | 407ms | 692ms | 1091ms | 4100ms |
有左冻结 | 384ms | 451ms | 1091ms | 1575ms | 6790ms |
有左右冻结 | 416ms | 511ms | 1244ms | 2214ms | 10484ms |
# 不同列数据条数下加载时间
多列无render | 30(行)*20(列) | 30(行)*30(列) | 30(行)*60(列) | 30(行)*90(列) |
---|---|---|---|---|
加载时间 | 474ms | 561ms | 764ms | 973ms |