一个基于 vue 的表格组件,支持虚拟滚动、支持筛选、单元格任意扩展、支持第三方组件库自定义渲染
-
设计理念
- 面向现代浏览器(简洁、高效的 API 设计)
- 模块化表格、插件化扩展(功能模块解耦,支持按需加载)
- 强大的功能的同时兼具性能(支持横向、纵向虚拟滚动、灵活的配置项、不污染全局样式及变量)
-
计划
- v1 100% 实现表格的一切实用的功能
- v2 95% 性能优化(小部分脱离 vue 使用原生实现),同时兼具功能与性能
- v3 0% 实现重构(除了数据双向之外,大部分脱离 vue 使用原生实现,不再支持IE,面向现代浏览器),渲染性能大幅提升,基于 Vue3 并使用 typescript 开发
🐬 如果有更好的建议、优化点或 Bug 都欢迎提 Issues
11+ ✔ | Latest ✔ | Latest ✔ | Latest ✔ | Latest ✔ | Latest ✔ |
- Basic table (基础表格)
- Grid (高级表格)
- Size (尺寸)
- Striped (斑马线条纹)
- Table with border (带边框)
- Cell style (单元格样式)
- Column resizable (列宽拖动)
- Maximum table height (最大高度)
- Resize height and width (响应式宽高)
- Fixed column (固定列)
- Grouping table head (表头分组)
- Highlight row and column (高亮行、列)
- Table sequence (序号)
- Radio (单选)
- Checkbox (多选)
- Sorting (排序)
- Filter (筛选)
- Rowspan and colspan (合并行或列)
- Footer summary (表尾合计)
- Import CSV/HTML/XML/TXT (导入)
- Export CSV/HTML/XML/TXT(导出)
- Print (打印)
- Show/Hide column (显示/隐藏列)
- Loading (加载中)
- Formatted content (格式化内容)
- Custom template (自定义模板)
- Context menu(快捷菜单)
- Virtual Scroller(虚拟滚动)
- Expandable row (展开行)
- Pager(分页)
- Toolbar(工具栏)
- Tree table (树形表格)
- Editable CRUD(增删改查)
- Validate(数据校验)
- Data Proxy(数据代理)
- Keyboard navigation(键盘导航)
- Modal window(模态窗口)
- Charts(图表工具)
To view the example 查看演示
To view the document 查看文档
npm install xe-utils vxe-table
<!-- 引入样式 -->
<link rel="stylesheet" href="https://unpkg.com/vxe-table/lib/index.css">
<!-- 引入脚本 -->
<script src="https://unpkg.com/xe-utils"></script>
<script src="https://unpkg.com/vxe-table"></script>
import Vue from 'vue'
import 'xe-utils'
import VXETable from 'vxe-table'
import 'vxe-table/lib/index.css'
Vue.use(VXETable)
<template>
<div>
<vxe-table :data="tableData">
<vxe-table-column type="index" title="序号" width="80"></vxe-table-column>
<vxe-table-column field="name" title="名字"></vxe-table-column>
<vxe-table-column field="sex" title="性别"></vxe-table-column>
<vxe-table-column field="address" title="地址"></vxe-table-column>
</vxe-table>
</div>
</template>
<script>
export default {
data () {
return {
tableData: [
{
id: 10001,
name: '名字1',
role: '角色',
sex: '男',
address: '深圳市 圳市 市 xxx'
}
]
}
}
}
</script>
If the project is very helpful to you, you can buy the author a cup of coffee.
如果这个项目对您有帮助,请作者喝杯咖啡吧。☕
MIT License, 2019-present, Xu Liangzhan