A vue based PC form component, support add delete change check, virtual tree, drag and drop, lazy loading, shortcut menu, data verification, import/export/print, form rendering, custom template, renderer, JSON configuration...
Latest ✔ | Latest ✔ | Latest ✔ | Latest ✔ | Latest ✔ |
- Basic table
- Configuration grid
- Striped
- Table with border
- Cell style
- Column resizing
- Column drag and drop
- Row drag and drop
- Minimum/maximum height
- Resize height & width
- Fixed column
- Grouping table header
- Table footer
- Highlight row & column
- Table sequence
- Radio
- Checkbox
- Sorting
- Multi field sorting
- Filter
- Merged cells
- Merged footer items
- Import/Export/Print
- Show/Hide column
- Drag and drop/Customize column sorting
- Loading
- Formatted cell
- Slot - template
- Context menu
- Detail - Expandable row
- Toolbar
- Virtual tree
- Editable CRUD
- Validate
- Data Proxy
- Keyboard navigation
- VxeGlobalRenderer
- Virtual scroll
- Virtual merger
- CSS Variable Theme
- (Enterprise) Cell area selection
- (Enterprise) Cell copy & paste
- (Enterprise) Cell find and replace
- (Enterprise) Full keyboard operation
- (Enterprise) Integrated chart
Version: vue 3.x
npm install vxe-table@next
// ...
import VxeTable from 'vxe-table'
import 'vxe-table/lib/style.css'
// ...
createApp(App).use(VxeTable).mount('#app')
// ...
import VxeTable from 'vxe-table'
import 'vxe-table/lib/style.css'
// ...
import VxeUI from 'vxe-pc-ui'
import 'vxe-pc-ui/lib/style.css'
// ...
createApp(App).use(VxeUI).use(VxeTable).mount('#app')
Use a third-party CDN to remember to lock the version number to avoid being affected by incompatible updates.
It is not recommended to use the CDN address of a third party in a formal environment because the connection can fail at any time
<!-- style -->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/vxe-pc-ui/lib/style.css">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/vxe-table@next/lib/style.css">
<!-- vue -->
<script src="https://cdn.jsdelivr.net/npm/vue"></script>
<!-- table -->
<script src="https://cdn.jsdelivr.net/npm/xe-utils"></script>
<script src="https://cdn.jsdelivr.net/npm/vxe-pc-ui"></script>
<script src="https://cdn.jsdelivr.net/npm/vxe-table@next"></script>
<template>
<div>
<vxe-table :data="tableData">
<vxe-column type="seq" title="Seq" width="60"></vxe-column>
<vxe-column field="name" title="Name"></vxe-column>
<vxe-column field="role" title="Role"></vxe-column>
<vxe-colgroup title="Group1">
<vxe-column field="sex" title="Sex"></vxe-column>
<vxe-column field="address" title="Address"></vxe-column>
</vxe-colgroup>
</vxe-table>
</div>
</template>
<script lang="ts" setup>
import { ref } from 'vue'
const tableData = ref([
{ id: 10001, name: 'Test1', role: 'Develop', sex: 'Man', address: 'Shenzhen' },
{ id: 10002, name: 'Test2', role: 'Test', sex: 'Man', address: 'Guangzhou' },
{ id: 10003, name: 'Test3', role: 'PM', sex: 'Man', address: 'Shanghai' }
])
</script>
👉 UI Document
👉 Table Document
Install dependencies
npm run update
Start local debugging
npm run serve
Compile packaging, generated compiled directory: es,lib
npm run lib
Thank you to everyone who contributed to this project.
MIT © 2019-present, Xu Liangzhan