# groupTable 分组表格
# groupTable 概述
表通过对data进行嵌套分组,显示分组表格。
不支持可编辑类型。
# groupTable 代码示例
# 单选分组
最简单的用法,展示基本的编辑类型。
# 多选分组
进行多项选择。
# 父子行多选不关联
通过开启 isGroupSeparated,父行和子行的选择情况将不再关联。
# 自定义分组标题行
自定义分组标题行。
# titleRender实现分组单列全选反选功能
titleRender实现分组单列全选反选功能。
# groupTable API
# groupTable props
| 属性 | 说明 | 类型 | 默认值 | 
|---|---|---|---|
| data | 显示的结构化数据(分组表格请使用嵌套,并给出title属性) | Array | [] | 
| columns | 表格列的配置描述,具体项见后文 | Array | [] | 
| stripe | 是否显示间隔斑马纹 | Boolean | false | 
| border | 是否显示纵向边框 | Boolean | true | 
| show-header | 是否显示表头 | Boolean | true | 
| width | 表格宽度,单位 px | Number | String | 自动 | 
| height | 表格高度,单位 px,设置后,如果表格内容大于此值,会固定表头 | Number | String | - | 
| disabled-hover | 禁用鼠标悬停时的高亮 | Boolean | false | 
| rowSelect | 多选时是否支持行选中,(仅在type为selection即多选下使用) | Boolean | false | 
| highlight-row | 是否支持高亮选中的行,即单选 | Boolean | false | 
| size | 表格尺寸 (只修改表头尺寸),可选值为 large、small、default 或者不填 | String | - | 
| no-data-text | 数据为空时显示的提示内容 | String | 暂无数据 | 
| loading | 表格是否加载中 | Boolean | false | 
| cloneData | 通过this.$refs.xxx.cloneData获取table内改变后的数据 | -- | -- | 
| multiLevel | 提供groupTable组件多级表头,不支持冻结列,其配置项目,具体见后文(此属性只在1.0.24或以上版本有效) | Array | null | 
| disableExpand | 控制父节点是否点击进行展开/收缩(v1.0.35) | Boolean | false | 
| childHighlightRow | 分组组件组内条目单选.注意不能和 highlight-row 同时开启(v1.0.36) |  Boolean | false | 
| titleRender | 分组标题自定义渲染(v1.0.37)使用 Vue 的 Render 函数。传入三个参数,第一个是 h,第二个为当前组标题,第三个为分组的索引值(第三个参数为v1.074新增) | Function | -- | 
| cancelSelection | 单选选中项可取消选中(v1.0.44) | Boolean | false | 
| canDrag | 是否可以拖动列宽(v1.0.47) | Boolean | false | 
| canMove | 表格是否可拖动,改变表格列顺序(v1.0.47) | Boolean | false | 
| isGroupSeparated | 多选时父行与子行是否关联。开启 isGroupSeparated 后,选中父行不再自动全选子行;手动选中全部子行后不再自动选中父行(不联动时点击表头全选依然可以全部选中)(v1.0.50) |  Boolean | false | 
| preventRightClick | 阻止子节点鼠标右键事件(v1.16.0) | Boolean | false | 
# groupTable events
| 事件名 | 说明 | 返回值 | 
|---|---|---|
| on-current-change | 开启 highlight-row 后有效,当表格的当前行发生变化的时候会触发 | currentRow:当前高亮行的数据 oldCurrentRow:上一次高亮的数据curIndex:包括k(当前父行索引),m(当前子行索引),key(点击单元格所在列关键字)(只在v.1.26及以上有效) | 
| on-select | 在多选模式下有效,选中某一项时触发 | selection:已选项数据row:刚选择的项数据 | 
| on-select-cancel | 在多选模式下有效,取消选中某一项时触发 | selection:已选项数据row:取消选择的项数据 | 
| on-select-all | 在多选模式下有效,点击全选时触发 | selection:已选项数据 | 
| on-selection-change | 在多选模式下有效,只要选中项发生变化时就会触发 | selection:已选项数据 | 
| on-row-click | 单击某一行时触发 | currentRow:当前行的数据status:当前行选中状态 | 
| on-row-dblclick | 双击某一行时触发 | currentRow:当前高亮行的数据curIndex:包括k(当前父行索引),m(当前子行索引),key(点击单元格所在列关键字)(v1.0.30) | 
| on-scroll | 表格内纵向滚动条滚动时触发 | 返回当前纵向滚动条距离底部的距离(为0时表示滚动条已经滚动到最底部) | 
| on-child-change | childHighlightRow模式下点击某一项触发(v1.0.36) | 返回项目中所有已经选择项目,1.0.44版本及以上每个选中项还将包括k(当前父行索引),m(前子行索引) | 
| on-drag | 拖动表头是触发(v1.0.47) | 返回当前拖动表头的宽度,和返回当前拖动表头key | 
| on-move | 拖动表头列排序时触发(v1.0.47) | 返回当前拖动表头原本的index和拖动后的index | 
| on-expand | 点击表头展开、折叠时触发(v1.0.48) | 返回当前操作的分组表格数据data与展开状态status | 
| on-right-click | 子节点行右点击事件(需开启preventRightClick属性) | event:Event对象row:当前选中行的数据索引对象:包括k(当前父行索引),m(当前子行索引)(v1.16.0) | 
# groupTable slot
| 名称 | 说明 | 
|---|---|
| loading | 加载中 | 
# groupTable column
列描述数据对象,是 columns 中的一项
| 属性 | 说明 | 类型 | 默认值 | 
|---|---|---|---|
| type | 列类型,可选值为 index, selection, expand(v1.0.29), radio(v1.0.37 该模式下默认开启 highlight-row) | String | - | 
| title | 列头显示文字 | String | # | 
| key | 对应列内容的字段名(key关键字不与样式名重叠) | String | - | 
| width | 列宽 | Number | - | 
| align | 对齐方式,可选值为 left 左对齐、 right 右对齐和 center 居中对齐 |  String | left | 
| hiddenCol | 是否隐藏当前列 | Boolean | false | 
| render | 自定义渲染列,使用 Vue 的 Render 函数。传入两个参数,第一个是 h,第二个为对象,包含 row、column 和 index,分别指当前行数据,当前列数据(columns内列数据),当前行索引。 (如果需求替代当前单元格,请添加样式.h-editgird .h-editgird-cell-with-render .dbClass{display:none;})  |  Function | - | 
| hiddenOther | 是否隐藏单元格内原有值(v1.0.26其以上版本支持) | Boolean | false | 
| renderHeader | 自定义列头显示内容,使用 Vue 的 Render 函数。传入两个参数,第一个是 h,第二个为对象,包含 column 和 index,分别为当前列数据(columns内列数据)和当前列索引。 |  Function | - | 
# multiLevel (v1.0.24及其以上版本支持)
列描述数据对象,是 multiLevel 中的一项
| 属性 | 说明 | 类型 | 默认值 | 
|---|---|---|---|
| title | 多级显示文字 | String | # | 
| cols | 当前表头所占跨列数 | Number | 1 | 
| rows | 当前表头所占跨行数,被跨行单元格右移动(v1.0.24) | Number | 1 | 
| align | 对齐方式,可选值为 left 左对齐、 right 右对齐和 center 居中对齐 |  String | left | 
| className | 表头单元格样式名 | String | - | 
| hiddenCol | 是否隐藏当前表头列 | Boolean | false |