一个基于 vue 的 PC 端表格组件,支持增删改查、虚拟滚动、懒加载、快捷菜单、数据校验、树形结构、打印导出、表单渲染、数据分页、虚拟列表、弹窗、自定义模板、渲染器、贼灵活的配置项、扩展接口等...
-
设计理念
- 面向现代浏览器,高效的简洁 API 设计
- 模块化表格、按需加载、扩展接口
- 为单行编辑表格而设计,支持增删改查及更多扩展,强大的功能的同时兼具性能
-
计划
- v1.0 基于 vue2.6+,支持所有主流的浏览器,实现表格的一切实用的功能
- v2.0 基于 vue2.6+,支持所有主流的浏览器,同时兼具功能与性能
- v3.0 基于 vue2.6+,支持现代浏览器并保留兼容 IE11,提升渲染性能
- v4.0 基于 vue3.0+,只支持现代浏览器,不支持 IE
Latest ✔ | Latest ✔ | Latest ✔ | Latest ✔ | 8+ ✔ |
- 基础表格
- 高级表格
- 斑马线条纹
- 多种边框
- 单元格样式
- 列宽拖动
- 最大高度
- 自适应宽高
- 固定列
- 多级表头
- 表尾数据
- 高亮行或列
- 序号
- 单选框
- 复选框
- 下拉选项
- 开关
- 排序
- 多字段组合排序
- 筛选
- 合并单元格
- 合并表尾
- 导入/导出/打印
- 显示/隐藏列
- 加载中
- 格式化内容
- 自定义插槽 - 模板
- 快捷菜单
- 展开行
- 分页
- 表单
- 工具栏
- 下拉容器
- 虚拟列表
- 增删改查
- 树表格
- 数据校验
- 数据代理
- 键盘导航
- 弹窗
- 渲染器
- 虚拟滚动
- 虚拟合并
- (pro) 单元格区域选取
- (pro) 单元格复制/粘贴
- (pro) 单元格查找和替换
npm install xe-utils vxe-table@next
import { createApp } from 'vue'
import 'xe-utils'
import VXETable from 'vxe-table'
import 'vxe-table/lib/style.css'
createApp(App).use(VXETable).mount('#app')
<!-- 引入样式 -->
<link rel="stylesheet" href="https://unpkg.com/vxe-table@next/lib/style.css">
<!-- 引入脚本 -->
<script src="https://unpkg.com/xe-utils"></script>
<script src="https://unpkg.com/vxe-table@next"></script>
<!-- 建议使用 CDN 方式引入的用户在链接地址上锁定版本,避免受到非兼容性更新的影响 -->
<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">
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>
💡 使用指南
👉 查看演示 👀备用地址
👉 查看文档 👀备用地址
MIT © 2019-present, Xu Liangzhan