基于vue3+elementPlus的动态table表单
分类: Vue、WEB前端 0 0
一、简介
使用 vue3 和 element-plus 实现
可通过配置json文件生成table表格
二、功能
- 根据配置文件动态生成表格和分页
- 通过配置显示序号和复选框
- 支持自定义插槽对表格文本进行操作
- 分页处理、多行操作
- 表格行合并等
三、接口
表格参数
| 参数 | 说明 | 类型 | 可选值 | 默认值 |
|---|---|---|---|---|
| tableData | 表格数据 | Array\ |
||
| tableConfig | 表格配置项 | Object | ||
| handleRowClick | 当某一行发生变化的时候会触发 | Function() | ||
| handleRowDbClick | 当某一行被双击时会触发该事件 | Function() | ||
| total | 总条目数 | Number | ||
| current | 当前页数 | Number | ||
| pageSize | 每页显示条目个数 | Number |
表格事件
| 事件名称 | 说明 | 参数 |
|---|---|---|
| tableChange | 翻页时候触发 | 当前页,当前页条数 |
tableConfig参数
| 参数 | 说明 | 类型 | 可选值 | 默认值 |
|---|---|---|---|---|
| parameter | 配置相关 | Object | ||
| parameter.selection | 是否显示复选框 | Boolean | true/false | false |
| parameter.index | 是否显示序号 | Boolean | true/false | false |
| parameter.pagination | 是否显示分页 | Boolean | true/false | false |
| parameter.defaultSort | 默认排序规则 | Object | { prop: ”, order: ‘descending’ } | |
| parameter.extendTable | 表格配置扩展项,同el-table | Object | {‘header-cell-style’: { background: ‘#18A058’, color: ‘rgba(0, 0, 0, 0.85)’, padding: ‘8px 0px’ },…} | |
| parameter.extendPagination | 分页配置扩展项,同el-pagination | Object | {‘paginationAlign’: ‘center’,’page-sizes’: [10, 20],…} | |
| columns | 表格列 | Array\ |
||
| columns[0].prop | 同接口字段 | String | ||
| columns[0].label | 表头展示文字 | String | ||
| columns[0].width | 列的宽度 | Number | ||
| columns[0].align | 列是否居中 | String | left/center/right | left |
| columns[0].formatterFun | 格式化列的值 | function(row, column, cellValue, index) | ||
| columns[0].sortable | 支持全局排序,填入custom即可 | String | custom | |
| columns[0].slotName | 具名插槽名称 | String | ||
| columns[0].component | 引入的外部组件 | |||
| columns[0].extendTableColumn | 表格列配置扩展项,同el-table-column | Object | {‘class-name’: ‘amount-2’,…} |
共 0 条评论关于 “基于vue3+elementPlus的动态table表单”