MyGit

x-extends/vxe-table-plugin-element

Fork: 26 Star: 97 (更新于 2024-11-09 12:46:08)

license: MIT

Language: TypeScript .

🌲 基于 vxe-table 表格的适配插件,用于兼容 element-ui、element-plus 组件库

最后发布版本: 4.0.4 ( 2024-06-25 14:20:03)

GitHub网址

vxe-table-plugin-element

gitee star npm version npm downloads npm license

基于 vxe-table 表格的适配插件,用于兼容 element-plus 组件库

Compatibility

对应 vxe-table v4 版本
如果您使用的是 vxe-table 4.7+ 最新版本,建议使用更强大的 @vxe-ui/plugin-render-element 适配器,代码完全兼容

Installing

npm install vxe-table@next vxe-table-plugin-element@next element-plus
// ...
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

<vxe-table
  height="600"
  :data="tableData"
  :edit-config="{trigger: 'click', mode: 'cell'}">
  <vxe-column field="name" title="Name" :edit-render="{}">
    <template #edit="{ row }">
      <el-input v-model="row.name"></el-input>
    </template>
  </vxe-column>
  <vxe-column field="age" title="Age" :edit-render="{}">
    <template #edit="{ row }">
      <el-input-number v-model="row.age"></el-input-number>
    </template>
  </vxe-column>
  <vxe-column field="date" title="Date" width="200" :edit-render="{}">
    <template #edit="{ row }">
      <el-date-picker v-model="row.date" type="date"></el-date-picker>
    </template>
  </vxe-column>
</vxe-table>
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

<vxe-table
  height="600"
  :data="tableData">
  <vxe-column field="name" title="Name"></vxe-column>
  <vxe-column field="age" title="Age"></vxe-column>
  <vxe-column field="date" title="Date" :filters="[{data: []}]" :filter-render="{name: 'ElDatePicker', props: {type: 'daterange'}}">
    <template #filter="{ $panel, column }">
      <el-input type="type" v-for="(option, index) in column.filters" :key="index" v-model="option.data" @input="$panel.changeOption($event, !!option.data, option)"></el-input>
    </template>
  </vxe-column>
</vxe-table>
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 © 2019-present, Xu Liangzhan

最近版本更新:(数据更新于 2024-09-12 10:56:33)

2024-06-25 14:20:03 4.0.4

2022-09-24 22:51:55 3.0.6

2021-03-23 23:25:25 1.11.2

2021-03-21 20:12:09 1.11.1

2021-03-21 17:04:00 3.0.2

2021-03-16 17:56:58 3.0.1

2021-03-16 09:50:55 3.0.0

2021-03-16 09:47:52 1.11.0

2021-01-30 10:12:31 1.10.3

2021-01-18 14:46:08 1.10.2

主题(topics):

vxe-table

x-extends/vxe-table-plugin-element同语言 TypeScript最近更新仓库

2024-11-22 01:36:46 twentyhq/twenty

2024-11-21 22:40:05 LLOneBot/LLOneBot

2024-11-21 20:34:48 CopilotKit/CopilotKit

2024-11-21 16:58:07 labring/FastGPT

2024-11-21 16:14:54 RSSNext/Follow

2024-11-21 16:12:23 x-extends/vxe-table