Vue Easytable
made with Vuejs

简介及使用教程

Vue Easytable 是一个基于Vue2的表格组件,支持单元格合并、单元格编辑、多表头固定、多列固定、列拖动、排序、自定义列、分页、单元格编辑、多选、条件过滤、footer 汇总等功能。

功能

  • 自适应,可以随着浏览器窗口改变自动适应
  • 固定列,表头固定
  • 支持列宽拖动
  • 支持单个字段排序和多个字段排序
  • 自定义列、自定义单元格样式
  • loading效果、自定义loading 等
  • 自带分页组件
  • 单元格编辑
  • 支持单元格合并 (colSpan and rowSpan)
  • 支持 checkbox 多选功能
  • footer 汇总功能
  • 添加条件过滤功能

安装

Npm

npm i vue-easytable --save-dev

Yarn

yarn add vue-easytable --dev

浏览器

<!-- 引入样式 -->
<link rel="stylesheet" href="https://unpkg.com/vue-easytable/umd/css/index.css">
<!-- 引入Vue -->
<script src="https://unpkg.com/vue/dist/vue.js"></script>
<!-- 引入组件库 -->
<script src="https://unpkg.com/vue-easytable/umd/js/index.js"></script>

使用

// 引入样式
import 'vue-easytable/libs/themes-base/index.css'
// 导入 table 和 分页组件
import {VTable,VPagination} from 'vue-easytable'

// 注册到全局
Vue.component(VTable.name, VTable)
Vue.component(VPagination.name, VPagination)

基本用法

<template>
    <v-table
             :width="1000"
             :columns="columns"
             :table-data="tableData"
             :show-vertical-border="false"
    ></v-table>
</template>

<script>

    export default{
        data() {
            return {
                 tableData: [
                     {"name":"赵伟","tel":"156*****1987","hobby":"钢琴、书法、唱歌","address":"上海市黄浦区金陵东路569号17楼"},
                     {"name":"李伟","tel":"182*****1538","hobby":"钢琴、书法、唱歌","address":"上海市奉贤区南桥镇立新路12号2楼"},
                     {"name":"孙伟","tel":"161*****0097","hobby":"钢琴、书法、唱歌","address":"上海市崇明县城桥镇八一路739号"},
                     {"name":"周伟","tel":"197*****1123","hobby":"钢琴、书法、唱歌","address":"上海市青浦区青浦镇章浜路24号"},
                     {"name":"吴伟","tel":"183*****6678","hobby":"钢琴、书法、唱歌","address":"上海市松江区乐都西路867-871号"}
                 ],
                columns: [
                    {field: 'name', title:'姓名', width: 100, titleAlign: 'center',columnAlign:'center'},
                    {field: 'tel', title: '手机号码', width: 260, titleAlign: 'center',columnAlign:'center'},
                    {field: 'hobby', title: '爱好', width: 330, titleAlign: 'center',columnAlign:'center'},
                    {field: 'address', title: '地址', titleAlign: 'center',columnAlign:'left'}
                ]
            }
        }
    }
</script>

image.png

列宽拖动

image.png

单元格编辑

image.png

更多示例

作者

黄书伟(uang ShuWei)

相关项目