6076266fe7d34775fb763aac42b6ebfc947542d5
vxe-table
A vue based PC form component, support add, delete, change, virtual scroll, lazy load, shortcut menu, data validation, tree structure, print export, form rendering, data paging, virtual list, modal window, custom template, renderer, flexible configuration items, extension interface, etc...
-
Design concept
- Efficient and concise API design for modern browsers
- Modular tables, on-demand loading, extended interfaces
- Designed for single row table editing, supports addition, deletion, modification and query as well as more expansion, with powerful functions and performance at the same time
-
Plan
- v1.0 Based on vue2.6+, it supports all mainstream browsers and realizes all practical functions of tables
- v2.0 Based on vue2.6+, it supports all mainstream browsers with both functions and performance
- v3.0 Based on vue2.6+, only modern browser is supported, ie is not supported, rendering performance is greatly improved
- v4.0 10% Based on vue3+, only modern browser is supported, ie is not supported, rendering performance is greatly improved
Browser Support
![]() |
![]() |
![]() |
![]() |
![]() |
|---|---|---|---|---|
| Latest ✔ | Latest ✔ | Latest ✔ | Latest ✔ | Latest ✔ |
Features
- Basic table
- Grid
- Striped
- Table with border
- Cell style
- Column resizing
- Maximum table height
- Resize height & width
- Fixed column
- Grouping table header
- Table footer
- Highlight row & column
- Table sequence
- Radio
- Checkbox
- Select
- Switch
- Sorting
- Multi field sorting
- Filter
- Merged cells
- Merged footer items
- Import/Export/Print
- Show/Hide column
- Loading
- Formatted cell
- Slot - template
- Context menu
- Detail - Expandable row
- Pager
- Form
- Toolbar
- Pulldown
- List
- Editable CRUD
- Tree table
- Validate
- Data Proxy
- Keyboard navigation
- Modal
- VxeGlobalRenderer
- Virtual scroller
- Virtual merger
- (pro) Cell area selection
- (pro) Cell copy & paste
- (pro) Cell find and replace
Installing
Version: vue 3.x, Dependent: xe-utils
npm install xe-utils vxe-table@next
npm
import { createApp } from 'vue'
import 'xe-utils'
import VXETable from 'vxe-table'
import 'vxe-table/lib/style.css'
const app = createApp(App)
app.use(VXETable)
CDN
<!-- Style -->
<link rel="stylesheet" href="https://unpkg.com/vxe-table@next/lib/style.css">
<!-- Script -->
<script src="https://unpkg.com/xe-utils"></script>
<script src="https://unpkg.com/vxe-table@next"></script>
<!-- It is recommended that users introduced by CDN lock the version on the link address to avoid the impact of incompatible updates -->
Example
<template>
<div>
<vxe-table :data="tableData">
<vxe-table-column type="seq" title="Seq" width="60"></vxe-table-column>
<vxe-table-column field="name" title="Name"></vxe-table-column>
<vxe-table-column field="role" title="Role"></vxe-table-column>
<vxe-table-column field="sex" title="Sex"></vxe-table-column>
<vxe-table-column field="address" title="Address"></vxe-table-column>
</vxe-table>
</div>
</template>
<script lang="ts">
import { defineComponent, ref } from 'vue'
export default defineComponent({
setup () {
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' }
])
return {
tableData
}
}
})
</script>
Docs
💡 User guide
👉 View example
👉 View API
Donate
If you think our open source software is helpful to you, you can scan the QR code below to support us.☕
License
MIT © 2019-present, Xu Liangzhan
Languages
TypeScript
90.8%
SCSS
7.9%
JavaScript
0.9%
HTML
0.4%




