# TableMin 表格
# TableMin 概述
主要用于展示大量结构化数据,冻结数据源,即不能向数据源添加新的属性,不能修改其已有属性的值,不能删除已有属性,以及不能修改该数据已有属性的可枚举性、可配置性、可写性
TIP
注意:该组件是高定制化组件,对数据进行冻结处理提升性能;本表格仅支持基本场景的表格功能(详见官网文档),复杂业务场景及影响性能的场景不支持。使用前请做好充足的调研。
注意:非 template/render 模式下,需使用
h-table-min。
# TableMin 代码示例
表格基础用法
没有表头和边框的固定高表格
border为是否显示边框,默认为false
show-header为是否显示表头,为false时则不显示表头
disabledHover为禁用鼠标悬停时的高亮,鼠标悬停在行上时没有其他效果。
height在设定好数值后,如果表格内容超过height设定的高度则会固定住表格高度,在纵向内容过多时适用
空数据表格
noDataText为数据为空表格显示的内容,默认内容为“暂无数据”
单选
通过设置属性 highlight-row为true后,可以显示点击选中了哪一行。
当选择或取消行时,会触发事件 @on-current-change或@on-current-change-cancle
多选
rowSelect多选时是否支持点击数据行能选中
on-selection-change  是在行选中状态发生改变时触发
on-select 和on-select-cancel 在多选模式下有效,在选中某一项时触发 ,已选项数据和刚选择的项数据
# TableMin API
# TableMin props
| 属性 | 说明 | 类型 | 默认值 | 
|---|---|---|---|
| data | 显示的结构化数据,其中,字段 cellClassName 用于设置任意单元格的样式名称,因此数据不能使用该字段,详见示例特定样式。 | Array | [] | 
| columns | 表格列的配置描述,具体项见后文 | Array | [] | 
| width | 表格长度,单位 px | Number| String | - | 
| height | 表格高度,单位 px,设置后,如果表格内容大于此值,会固定表格高度 | Number| String | - | 
| stripe | 是否显示间隔斑马纹 | Boolean | false | 
| border | 是否显示表格边框 | Boolean | false | 
| showHeader | 是否显示表头 | Boolean | false | 
| highlightRow | 是否高亮选中的一行,即单选选中 | Boolean | false | 
| rowClassName | 行的className 的回调方法,传入参数:row:当前行数据 index:当前行的索引 |  Function | - | 
| noDataText | 数据为空时显示的提示内容 | String | 暂无数据 | 
| disabledHover | 是否禁用鼠标悬停时的高亮 | Boolean | false | 
| rowSelect | 多选时是否支持点击行能选中 | Boolean | false | 
| loading | 表格是否加载中 | Boolean | false | 
| showTitle | 是否显示title | Boolean | false | 
| loadingText | 自定义表格加载中文本 | String | 加载中 | 
# TableMin events
| 事件名 | 说明 | 返回值 | 
|---|---|---|
| on-current-change-cancle | 开启 highlight-row 后有效,当前高亮行取消时触发 |  返回当前行的数据和上一次选择的数据 | 
| on-current-change | 开启 highlight-row 后有效,选中一行时触发 |  返回当前行的数据和上一次选择的数据 | 
| on-row-click | 单击某一行时触发 | 当前行的数据和index | 
| on-row-dblclick | 双击某一行时触发 | 当前行的数据 | 
| on-selection-change | 在多选模式下有效,只要选中项发生变化时就会触发 | selection:已选项数据selectInx:已选项数据索引集合(只在v1.0.12版本及以上) | 
| on-select | 在多选模式下有效,选中某一项时触发 | selection:已选项数据row:刚选择的项数据 | 
| on-select-cancel | 在多选模式下有效,取消选中某一项时触发 | selection:已选项数据row:取消选择的项数据 | 
| on-select-all | 在多选模式下有效,点击全选时触发 | selection:已选项数据 | 
| on-scroll | 表格内纵向滚动条滚动时触发 (横向滚动时也会触发,但返回值中的顶部高度固定,可以用于监听横向滚动的触发) | 返回第一个参数为当前纵向滚动条距离底部的距离(为0时表示滚动条已经滚动到最底部);第二个参数是当前纵向滚动条距离顶部的距离;第三个参数为滚动方向("x"代表水平滚动,"y"代表垂直滚动) | 
# TableMin slot
| 名称 | 说明 | 
|---|---|
| loading | 加载中 | 
| nodata | 无数据 | 
# TableMin column
列描述数据对象,是 columns 中的一项
| 属性 | 说明 | 类型 | 默认值 | 
|---|---|---|---|
| type | 列类型,可选值为 index、selection、expand、html、text | String | - | 
| title | 列头显示文字 | String | # | 
| key | 对应列内容的字段名(只允许字母、数字或字母数字与下划线、短横线的组合) | String | - | 
| width | 列宽 | Number | - | 
| align | 对齐方式,可选值为 left 左对齐、right 右对齐和 center 居中对齐 |  String | left | 
| fixed | 列是否固定在左侧或者右侧,可选值为 left 左侧和 right 右侧(右侧时请添加ellipsis属性) |  String | - | 
| hiddenCol | 是否隐藏当前列 | Boolean | false | 
| ellipsis | 开启后,文本将不换行,超出部分显示为省略号 | Boolean | false | 
| headerTooltip | 鼠标指针悬停表头单元格时浮出提示信息展示完整内容 | Boolean | false |