<TableV2 />
组件继承了 element-plustable 所有属性, 并扩展了更多属性
属性
| 属性名 | 描述说明 | 类型 | 默认 |
| v-model/modelValue | 表格数据 | Array | [] |
| row-key | 每行的 key 值,如果不提供,将使用索引 index 代替 | String/Number | 'id' |
| auto-load | 是否自动请求数据.(url 不为空的情况) | Boolean | true |
| empty-text | 没有数据时的文字描述 | String | 暂无数据 |
| columns | 表格配置(详情见 columns 配置) | Array | - |
| form-rules | 表格内置表单校验规则(同 element-plus from rule) | Array | - |
| form-label-width | 表格内置表单校 label 宽度 | String/Number | '80px' |
| form-column-count | 表格内置表单列展示数量 | Number | 1 |
| url | 列表请求接口 | String | - |
| method | 请求类型, 使用内置请求的获取列表的时候 | String | 'GET' |
| req-data | 列表请求参数 | Object | - |
| req-params | 列表请求参数 | Object | - |
| headers | 请求头配置 | Object | - |
| default-table-data | 列表初始默认数据.(不建议当作外部请求参数更新列表) | Array | - |
| buttons | 列表操作栏自定义按钮 | Array | - |
| pagination | 分页数据(用于序号循环), { page:1, size:10, total:0 } | Object | {total: 0, size: 10, page: 1} |
| auto-height | 表格高度根据数据自适应, 若无数据且为 false 默认 200 | Boolean | false |
| height | 列表高度 | String/Number | 0 |
| disabled | 禁用列表 | Boolean | false |
| last-column-align | 最后一列对齐方式 | String | 'center' |
| scrollbar-always | 是否永久显示滚动条 | Boolean | false |
| dialog-full-screen | 表格内置表单是否全屏(新增、编辑) | Boolean | false |
| enable-request-params-load | 参数修改时是否发起请求 | Boolen | true |
| enable-own-button | 是否启用全部自带按钮, 新增, 编辑, 删除, 优先级高于 enableCreate, enableEdit, enableDelete | Boolean | true |
| enable-toolbar | 是否启用表格上方 Toolbar | Boolean | true |
| enable-delete | 是否启用内置删除按钮 | Boolean | true |
| enable-create | 是否启用内置新增按钮 | Boolean | true |
| enable-edit | 是否启用内置编辑按钮 | Boolean | true |
| enable-selection | 是否启用复选框 | Boolean | false |
| enable-index | 是否启用序号 | Boolean | true |
| enable-row-edit | 是否启用行编辑 | Boolean | false |
| enable-single-edit | 是否启用单行编辑 | Boolean | true |
| enable-latest-data | 是否在内置编辑时获取最新数据 | Boolean | true |
| latest-data-url | 获取最新数据接口地址 | String | - |
| latest-data-method | 获取最新数据接口方法 | String | 'GET' |
| latest-data-params | 获取最新数据接口参数 | Object | - |
| latest-data-data | 获取最新数据接口数据 | Object | - |
| latest-data-headers | 获取最新数据接口头 | Object | - |
| create-hide-colunms | 新增时需要隐藏字段的 Key | Array | - |
| update-hide-colunms | 编辑时需要隐藏字段的 Key | Array | - |
| number-text | 序号表头文字 | String | '序号' |
| create-text | 内置新增按钮文字 | String | '新增' |
| edit-text | 内置编辑按钮文字 | String | '编辑' |
| delete-text | 内置删除按钮文字 | String | '删除' |
| create-icon | 内置新增按钮图标 | String | 'Create' |
| edit-icon | 内置编辑按钮图标 | String | 'Edit' |
| delete-icon | 内置删除按钮图标 | String | 'Delete' |
| show-button-icon | 是否显示按钮图标 | Boolean | false |
| selectable | 是否启用点击选择行 | Function | () => true |
| stripe | 是否启用表格条纹 | Boolean | true |
| loading | 是否处于 loading 状态 | Boolean | false |
| status | 表格状态, none 或 edit, 配合 enable-row-edit 使用 | String | none |
列配置项属性
| 属性 | 描述说明 | 类型 |
| prop | 字段名 | String |
| label | 显示名 | String |
| type | 字段类型(同表单类型) | String |
| tableShow | 是否在列表显示 | Boolean |
| formShow | 是否在内置表单显示 | Boolean |
| align | 表头水平位置 | String |
| fixed | 列是否固定 | Boolean |
| width | 列宽度 | Number |
| sortable | 是否排序 | Boolean |
| expand | 是否展开列 | Boolean |
| tooltip | 是否显示 tooltip | Boolean |
| children | 多表头子级字段, Array (配置相同) | Array |
| formItemProps | 表单项的 props(同 element plus form item), 启用行编辑时校验回调, 必须调用 callback(valid, msg) | Function(value, callback) |
表格操作列按钮属性
| 属性 | 描述说明 | 类型 |
| label | 按钮显示文字 | String |
| show | 显示隐藏按钮 | String |
| disabled | 禁用按钮 | String |
| important | 强制显示按钮 | Boolean |
| popconfirm | 气泡提示内容(若不为空默认启用气泡) | String |
| icon | 显示在文字前图标(仅框架已有图标库) | String |
| more | 是否以更多形式显示按钮 | Boolean |
| ... | 可自定义其他属性做点击判断, 如:type、code | Any |
提示: show 和 disabled 自带行数据, 可根据行数据属性判断, 如: show: 'row.status === 1'
表格事件
| 事件 | 描述说明 | 类型 |
| before-complete | 表格数据请求回来在设置到列表之前, 诺调整了数据则需要手动调用 next(data) 方法并将新数据传进来 | Function({items,next}) |
| completed | 表格数据设置完成后, 返回请求类型(get、put、post、delete) | Function(type) |
| before-create | 新增数据之前 | Function(data) |
| created | 新增数据完成之后 | Function(data) |
| before-update | 数据更新之前 | Function(data) |
| updated | 数据更新之后 | Function(data) |
| before-delete | 数据删除之前 | Function(data) |
| deleted | 数据删除之后 | Function(data) |
| beforeRowEdit | 行编辑启用之前 | Function(row, column, event) |
| click-row | 当某一行被点击时会触发该事件 | Function(row, column, event) |
| click-button | 当自定义按钮被点击时会触发该事件 | Function({row, btn, index}) |
| selectionChange | 当选中项改变时 | Function(val) |
| editChange | 当行编辑项改变时 | Function(val, cells, row, column) |
| sortChange | 当列排序时 | Function(val) |
| form-reset | 当使用默认新增/编辑表单点击重置按钮时会触发该事件 | - |
| form-clear | 当使用默认新增/编辑表单点击清空按钮时会触发该事件 | - |
| form-changed | 当使用默认新增/编辑表单时改变表单值会触发该事件 | Function({value, item, tableFormRef, row}) |
| form-before-submit | 当使用默认新增/编辑表单时点击提交按钮提交数据前会触发该事件 | Function(form) |
| form-before-edit | 当使用默认编辑表单时在渲染数据到表单之前会触发该事件 | Function(data, row) |
| dialog-open | 内置弹框(新增、编辑)打开时 | Function(form) |
| dialog-opened | 内置弹框(新增、编辑)打开时动画结束 | - |
| dialog-close | 内置弹框(新增、编辑)关闭时 | - |
| dialog-closed | 内置弹框(新增、编辑)关闭动画结束 | - |
表格方法
| 方法 | 描述说明 | 类型 |
| clear | 清空列表 | Function() |
| cancelEdit | 取消所有行编辑 | Function() |
| disabled | 禁用表格功能 | Function(Boolean) |
| reload | 重新加载表格数据 | Function() |
| create | 新增数据 | Function(data) |
| update | 更新数据 | Function(data) |
| remove | 删除数据(根据 key 删除对应 val 的数据) | Function(val, key='__id') |
| push | 向表格列表添加数据, key 默认__id, isReplace 在 data 为 Array 时默认替换整个列表数据 | Function (data, key, isReplace) |
| getElTableRef | 获取 element-plus el-table ref | Function() => Ref |
| getTotal | 获取表格数据总数(后端返回总数,不是列表数量) | Function() => Number |
| getUpdateRow | 获取当前正在内置编辑的行数据 | Function() => Object |
| getTableData | 获取列表数据 | Function() => Array |
| getFormData | 获取内置表单数据 | Function() => Object |
| getFormValue | 根据 Key 获取内置表单 Value | Function(String) => Any |
| getSelectionRows | 获取表格复选勾选数据 | Function() => Array |
| clearSelection | 清空选中项 | Function() |
| toggleRowSelection | 切换行选中状态 | Function(row, bool) |
| toggleAllSelection | 切换全选状态 | Function() |
| setRowValue | 设置某行某字段的值 | Function(id,prop, val) |
| setFormValue | 设置内置表单值 | Function(key,value) |
| setFormAttr | 设置内置表单配置项的属性和值 | Function(key, attr, value) |
| visibleFormDialog | 显示/隐藏内置弹框(新增、编辑) | Function(Boolean, data) |
表格插槽
| 插槽 | 描述说明 |
| toolbarBegin | toolbar 开始的地方 |
| toolbarLeft | toolbar 左侧默认按钮之后 |
| toolbarCenter | toolbar 中间 |
| toolbarRight | toolbar 右侧 |
| header-[slot] | 表头插槽 |
| [slot] | 动态字段插槽, 匹配属性 columns 项的 prop |
| edit-[slot] | 行编辑时字段插槽 |
| edit-[slot]-error | 行编辑时校验错误显示插槽 |
| buttons | 操作按钮(内置按钮之后) |
表格表单插槽
| 插槽 | 描述说明 |
| dialogForm | 内置表单插槽(可替换整个 form) |
| form-[slot] | 内置表单动态插槽, 匹配属性 columns 项的 prop |
| formButtons | 内置表单按钮插槽 |