# vxe-table-plugin-element
**Repository Path**: x-extends/vxe-table-plugin-element
## Basic Information
- **Project Name**: vxe-table-plugin-element
- **Description**: 基于 vxe-table 表格的适配插件,用于兼容 element-ui、element-plus 组件库
- **Primary Language**: JavaScript
- **License**: MIT
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 70
- **Forks**: 25
- **Created**: 2019-06-05
- **Last Updated**: 2025-07-15
## Categories & Tags
**Categories**: webui
**Tags**: None
## README
# vxe-table-plugin-element
[](https://gitee.com/x-extends/vxe-table-plugin-element/stargazers)
[](https://www.npmjs.com/package/vxe-table-plugin-element)
[](http://npm-stat.com/charts.html?package=vxe-table-plugin-element)
[](LICENSE)
基于 [vxe-table](https://www.npmjs.com/package/vxe-table) 表格的适配插件,用于兼容 [element-plus](https://github.com/element-plus/element-plus) 组件库
## Compatibility
对应 vxe-table v4 版本
如果您使用的是 vxe-table 4.7+ 最新版本,建议使用更强大的 [@vxe-ui/plugin-render-element](https://vxeui.com/other4/#/plugin-render-element/grid/edit/el-input) 适配器,代码完全兼容
## Installing
```shell
npm install vxe-table@next vxe-table-plugin-element@next element-plus
```
```javascript
// ...
import VXETable from 'vxe-table'
import VXETablePluginElement from 'vxe-table-plugin-element'
import 'vxe-table-plugin-element/dist/style.css'
// ...
VXETable.use(VXETablePluginElement)
```
## API
### cell-render 默认的渲染配置项说明
| 属性 | 描述 | 类型 | 可选值 | 默认值 |
|------|------|-----|-----|-----|
| name | 支持的渲染组件 | String | ElInput, ElAutocomplete, ElInputNumber, ElSwitch, ElRate, ElSlider, ElButton, ElButtons | — |
| attrs | 渲染组件附加属性,参数请查看被渲染的 Component attrs | Object | — | {} |
| props | 渲染组件附加属性,参数请查看被渲染的 Component props | Object | — | {} |
| options | 只对 name=ElSelect 有效,下拉组件选项列表 | Array | — | [] |
| optionProps | 只对 name=ElSelect 有效,下拉组件选项属性参数配置 | Object | — | { value: 'value', label: 'label' } |
| optionGroups | 只对 name=ElSelect 有效,下拉组件分组选项列表 | Array | — | [] |
| optionGroupProps | 只对 name=ElSelect 有效,下拉组件分组选项属性参数配置 | Object | — | { options: 'options', label: 'label' } |
| events | 渲染组件附加事件,参数为 ( {row,rowIndex,column,columnIndex}, ...Component arguments ) | Object | — | — |
| nativeEvents | 渲染组件附加事件,参数为 ( {row,rowIndex,column,columnIndex}, ...Component arguments ) | Object | — | — |
### edit-render 可编辑渲染器配置项说明
| 属性 | 描述 | 类型 | 可选值 | 默认值 |
|------|------|-----|-----|-----|
| name | 支持的渲染组件 | String | ElInput, ElAutocomplete, ElInputNumber, ElSelect, ElCascader, ElTimeSelect, ElTimePicker, ElDatePicker, ElSwitch, ElRate, ElSlider, ElButton, ElButtons | — |
| attrs | 渲染组件附加属性,参数请查看被渲染的 Component attrs | Object | — | {} |
| props | 渲染组件附加属性,参数请查看被渲染的 Component props | Object | — | {} |
| options | 只对 name=ElSelect 有效,下拉组件选项列表 | Array | — | [] |
| optionProps | 只对 name=ElSelect 有效,下拉组件选项属性参数配置 | Object | — | { value: 'value', label: 'label' } |
| optionGroups | 只对 name=ElSelect 有效,下拉组件分组选项列表 | Array | — | [] |
| optionGroupProps | 只对 name=ElSelect 有效,下拉组件分组选项属性参数配置 | Object | — | { options: 'options', label: 'label' } |
| events | 渲染组件附加事件,参数为 ( {row,rowIndex,column,columnIndex}, ...Component arguments ) | Object | — | — |
| nativeEvents | 渲染组件附加事件,参数为 ( {row,rowIndex,column,columnIndex}, ...Component arguments ) | Object | — | — |
### filter-render 筛选渲染器配置项说明
| 属性 | 描述 | 类型 | 可选值 | 默认值 |
|------|------|-----|-----|-----|
| name | 支持的渲染组件 | String | ElInput, ElInputNumber, ElAutocomplete, ElSelect, ElDatePicker, ElSwitch, ElRate, ElSlider | — |
| attrs | 渲染组件附加属性,参数请查看被渲染的 Component attrs | Object | — | {} |
| props | 渲染组件附加属性,参数请查看被渲染的 Component props | Object | — | {} |
| options | 只对 name=ElSelect 有效,下拉组件选项列表 | Array | — | [] |
| optionProps | 只对 name=ElSelect 有效,下拉组件选项属性参数配置 | Object | — | { value: 'value', label: 'label' } |
| optionGroups | 只对 name=ElSelect 有效,下拉组件分组选项列表 | Array | — | [] |
| optionGroupProps | 只对 name=ElSelect 有效,下拉组件分组选项属性参数配置 | Object | — | { options: 'options', label: 'label' } |
| events | 渲染组件附加事件,参数为 ( {}, ...Component arguments ) | Object | — | — |
| nativeEvents | 渲染组件附加事件,参数为 ( {}, ...Component arguments ) | Object | — | — |
### item-render 表单-项渲染器配置项说明
| 属性 | 描述 | 类型 | 可选值 | 默认值 |
|------|------|-----|-----|-----|
| name | 支持的渲染组件 | String | ElInput, ElInputNumber, ElAutocomplete, ElSelect, ElDatePicker, ElSwitch, ElRate, ElSlider, ElRadio, ElCheckbox, ElButton, ElButtons | — |
| attrs | 渲染组件附加属性,参数请查看被渲染的 Component attrs | Object | — | {} |
| props | 渲染组件附加属性,参数请查看被渲染的 Component props | Object | — | {} |
| options | 只对 name=ElSelect 有效,下拉组件选项列表 | Array | — | [] |
| optionProps | 只对 name=ElSelect 有效,下拉组件选项属性参数配置 | Object | — | { value: 'value', label: 'label' } |
| optionGroups | 只对 name=ElSelect 有效,下拉组件分组选项列表 | Array | — | [] |
| optionGroupProps | 只对 name=ElSelect 有效,下拉组件分组选项属性参数配置 | Object | — | { options: 'options', label: 'label' } |
| events | 渲染组件附加事件,参数为 ( {}, ...Component arguments ) | Object | — | — |
| nativeEvents | 渲染组件附加事件,参数为 ( {}, ...Component arguments ) | Object | — | — |
## Cell demo
```html
```
```javascript
export default {
data () {
return {
tableData: [
{ id: 100, name: 'test0', age: 28, sex: '1', date: null },
{ id: 101, name: 'test1', age: 32, sex: '0', date: null },
{ id: 102, name: 'test2', age: 36, sex: '1', date: null }
]
}
}
}
```
## Filter demo
```html
```
```javascript
import { defineComponent } from 'vue'
export default defineComponent({
setup () {
return {
tableData: [
{ id: 100, name: 'test0', age: 28, date: null },
{ id: 101, name: 'test1', age: 32, date: null },
{ id: 102, name: 'test2', age: 36, date: null }
]
}
}
})
```
## License
[MIT](LICENSE) © 2019-present, Xu Liangzhan