New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

vxe-table

Package Overview
Dependencies
Maintainers
1
Versions
2041
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

vxe-table

A very powerful Vue table component.

  • 0.0.13
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
25K
increased by119.59%
Maintainers
1
Weekly downloads
 
Created
Source

vxe-table

npm version npm downloads gzip size: JS gzip size: CSS npm license

A very powerful Vue table component.

Features

  • 基础
  • 尺寸
  • 斑马线条纹
  • 带边框
  • 单元格样式
  • 列宽拖动
  • 流体高度
  • 固定表头
  • 固定列
  • 固定表头和列
  • 表头分组
  • 序号
  • 单选
  • 多选
  • 排序
  • 筛选
  • 合并行或列
  • 表尾合计
  • 导出 CVS
  • 自定义列
  • 加载中
  • 格式化内容
  • 自定义模板
  • 快捷菜单
  • 滚动渲染
  • 展开行
  • 数据校验
  • 可编辑表格
  • Excel 表格

Docs

查看文档

Installing

npm install xe-utils vxe-table

Get on unpkg and cdnjs

<!-- 引入样式 -->
<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 VXETable from 'vxe-table'
import 'vxe-table/lib/index.css'

Vue.use(VXETable)

Global config

import Vue from 'vue'
import VXETable from 'vxe-table'
import 'vxe-table/lib/index.css'

Vue.use(VXETable, {
  // 默认尺寸
  size: 'small',
  // 全局快捷菜单
  contextMenu: null,
  // 自定义渲染器
  renderMap: {},
  // 自定义图标配置
  iconMap: {
    sortAsc: 'vxe-sort--asc-icon',
    sortDesc: 'vxe-sort--desc-icon',
    filter: 'vxe-filter--icon',
    edit: 'vxe-edit--icon'
  },
  // 优化配置项
  optimized: {
    scrollX: {
      gt: 60,
      oSize: 5,
      rSize: 16
    },
    scrollY: {
      gt: 500,
      oSize: 20,
      rSize: 80
    }
  }
})

Theme

// Case 1. 引入默认的样式
import 'vxe-table/lib/index.css'

// Case 2. 自定义表格颜色(复制 style/variable.scss 到自己的项目中,修改颜色变量,然后引入)
// @import 'assets/style/vxe-table/variable.scss';
// @import 'vxe-table/style/table.scss';

// Case 3. 重写主题样式(复制 style/table.scss 到项目中自行修改)
// @import 'assets/style/vxe-table/variable.scss';
// @import 'assets/style/vxe-table/table.scss';

I18n

import Vue from 'vue'
import VueI18n from 'vxe-i18n'
import VXETable from 'vxe-table'
import zhCNLocat from 'vxe-table/lib/locale/lang/zh_CN'
import enLocat from 'vxe-table/lib/locale/lang/zh_CN'

const messages = {
  zh_CN: {
    ...zhCNLocat
  },
  en: {
    ...enLocat
  }
}

const i18n = new VueI18n({
  locale: 'zh_CN',
  messages,
})

Vue.use(VXETable, {
  i18n: (key, value) => i18n.t(key, value)
})

new Vue({ i18n }).$mount('#app')

API

Table

<vxe-table :data.sync="tableData">
  <vxe-table-column type="selection" width="60"></vxe-table-column>
  <vxe-table-column prop="name" label="Name"></vxe-table-column>
  <vxe-table-column prop="address" label="Address"></vxe-table-column>
</vxe-table>
Table Attributes
参数说明类型可选值默认值
data显示的数据Array
customs初始化绑定动态列Array
height表格的高度Number
maxHeight表格的最大高度Number
resizable是否允许拖动列宽调整大小Booleanfalse
stripe是否带有斑马纹Booleanfalse
border是否带有纵向边框Booleanfalse
size表格的尺寸Stringmedium / small / mini
fit列的宽度是否自撑开Booleantrue
loading表格是否加载中Booleanfalse
show-header是否显示表头Booleantrue
highlight-current-row是否要高亮当前选中行Booleanfalse
highlight-hover-row鼠标移到行是否要高亮显示Booleanfalse
row-class-name给行附加 className,也可以是函数 Function({row, rowIndex, data})String/Function
cell-class-name给单元格附加 className,也可以是函数 Function({row, rowIndex, column, columnIndex, data})String/Function
header-row-class-name给表头的行附加 className,也可以是函数 Function({rowIndex})String/Function
header-cell-class-name给表头的单元格附加 className,也可以是函数 Function({rowIndex, column, columnIndex})String/Function
footer-row-class-name给表尾的行附加 className,也可以是函数 Function({rowIndex})String/Function
footer-cell-class-name给表尾的单元格附加 className,也可以是函数 Function({rowIndex, column, columnIndex})String/Function
show-footer是否显示表尾合计Boolean
footer-method表尾合计的计算方法 Function({columns, data})Function
span-method合并行或列,该函数 Function({row, rowIndex, column, columnIndex, data}) 返回计算后的值Object{ rowspan: 1, colspan: 1}
row-key行数据的 KeyString
context-menu快捷菜单配置项Object{header, body, footer}
mouse-config鼠标配置项Objectoptions
Keyboard-config按键配置项Objectoptions
edit-config可编辑配置项Objectoptions
edit-rules校验规则配置项Objectoptions
optimized优化配置项Object/Booleanoptions
selectEditMethod只对 Keyboard-config={isEdit: true} 有效,用于重写选中编辑处理逻辑,该函数 Function({row, rowIndex, column, columnIndex, cell}, event) 可以返回 false 来阻止默认行为Function
属性描述类型可选值默认值
disabled是否禁用表格头部右键Boolean
options表格头部菜单配置Array{ code, name, prefixIcon, suffixIcon, disabled }
visibleMethod该函数 Function({row, rowIndex, column, columnIndex}, event) 的返回值用来决定是否允许显示右键菜单Function
context-menu 快捷键说明
属性描述
Arrow Up ↑移动到上一个菜单选项
Arrow Down ↓移动到下一个菜单选项
Arrow Down →打开右侧的二级菜单
Enter选中当前菜单选项
Spacebar选中当前菜单选项
optimized 优化配置项说明
属性描述类型可选值默认值
animat表格动画效果开关(关闭后视觉效果更快)Booleantrue
overflow设置所有行不允许换行(设置后对于固定列能大幅提升性能)Stringellipsis / title / tooltip
scrollX横向 X 滚动渲染配置Object{gt: 60, oSize: 5, rSize: 16}
scrollY纵向 Y 滚动渲染配置Object{gt: 500, oSize: 30, rSize: 100}
scrollXY 滚动渲染配置项说明
属性描述类型
gt指定大于多少范围时自动启动滚动渲染Number
oSize超过指定阈值重新渲染Number
rSize每次渲染条数Number
vSize指定可视区域条数,默认自动计算Number
rHeight指定行高,默认自动计算Number
mouse-config 鼠标相关配置项说明
属性描述类型可选值默认值
selected开启左键选中功能Booleanfalse
checked开启鼠标移动单元格批量选中功能Booleanfalse
keyboard-config 键盘相关配置项说明
属性描述类型可选值默认值
isArrow开启方向键功能Booleanfalse
isTab开启 Tab 键功能Booleanfalse
isCut开启复制粘贴功能Booleanfalse
isEdit开启任意键进入编辑(功能键除外)Booleanfalse
keyboard-config 快捷键说明
属性描述
Arrow Up ↑移动到当前活动单元格上面的单元格
Arrow Down ↓移动到当前活动单元格下面的单元格
Arrow Left ←移动到当前活动单元格左边的单元格
Arrow Right →移动到当前活动单元格右边的单元格
Tab移动到当前选中或活动单元格的右侧单元格,如果到最后一列且存在下一行,则从下一行开始移动
Enter取消编辑并移动到当前活动单元格下面的单元格
Delete清空内容
Backspace清空内容并激活选中单元格为编辑状态
F2激活单元格编辑
Esc取消单元格编辑
Ctrl + C复制选中的单元格内容
Ctrl + X剪贴选中的单元格内容
Ctrl + V粘贴选中的单元格内容
Ctrl + A选中所有单元格
edit-config 可编辑配置项说明
属性描述类型可选值默认值
trigger触发方式Stringmanual(手动触发方式,只能用于 mode=row) / click(点击触发编辑) / dblclick(双击触发编辑)click
mode编辑模式Stringcell(单元格编辑模式) / row(行编辑模式)cell
showIcon是否显示列头编辑图标Booleantrue
showStatus是否显示单元格值的修改状态Booleanfalse
edit-rules 校验规则配置项说明
属性描述类型可选值默认值
required是否必填Boolean
min校验值最小长度(如果 type=number 则比较值大小)Number
max校验值最大长度(如果 type=number 则比较值大小)Number
type类型校验Stringnumber / stringstring
pattern正则校验RegExp
validator自定义校验方法Function(rule, value, callback)
trigger触发校验方式Stringblur / changechange
Table Events
事件名说明参数
select-all只对 type=selection 有效,当手动勾选全选时触发的事件{selection,checked},event
select-change只对 type=selection/radio 有效,当手动勾选时触发的事件{selection,checked,row,column},event
cell-click当某个单元格被点击时会触发该事件{row,rowIndex,column,columnIndex,cell},event
cell-dblclick当某个单元格被双击时会触发该事件{row,rowIndex,column,columnIndex,cell},event
context-menu-link当点击上下文菜单后触发menu,event
edit-disabled当点击后单元格如果是禁用状态时会触发该事件{row,rowIndex,column,columnIndex,cell},event
Table Methods
方法名描述参数
reload初始化数据data
insert从第一行新增一行新数据record
insertAt第二个参数 row 从指定位置新增一条数据; null 从第一行新增一行新数据;-1 从最后新增一条数据record,row
revert还原更改,还原指定行 row 或者整个表格的数据rows?,prop?
remove删除指定行数据,指定 row 或 [row, ...] 删除多条数据rows
getRecords获取表格所有数据,也可以指定索引获取数据rowIndex
getColumns获取表格所有列,也可以指定索引获取列columnIndex
getAllRecords获取表格数据集合
getInsertRecords获取新增数据
getRemoveRecords获取已删除数据
getUpdateRecords获取已修改数据
setCurrentRow用于单选表格,设置某一行为选中状态,如果第二个参数为空,则会取消目前高亮行的选中状态row?
setActiveRow只对 mode=cell 有效,激活行编辑row
setActiveCell只对 mode=row 有效,激活单元格编辑row,prop
setSelectCell只对 trigger!=manual 有效,选中单元格row,prop
toggleRowSelection用于多选表格,切换某一行的选中状态,第二个参数则是设置这一行选中与否row,checked
toggleAllSelection用于多选表格,切换所有行的选中状态
clearSelectRow用于单选表格,清空用户的选择
clearSelection用于多选表格,清空用户的选择
clearSort清空排序条件,数据会恢复成未排序的状态
clearFilter清空筛选条件,数据会恢复成未筛选的状态
clearChecked清除单元格批量选中状态
clearSelected清除单元格选中状态
clearActivedd清除单元格激活状态
clearCopyed清空已复制的内容
computeWidth重新计算并更新列宽
isScrollXLoad判断是否启用了横向 X 滚动渲染
isScrollYLoad判断是否启用了纵向 Y 滚动渲染
exportCsv将表格数据导出为 .csv 文件,说明:支持IE9+、Edge、Chrome、Firefox 等常用浏览器。IE11以下可能存在中文乱码问题,部分浏览器需要手动修改后缀名为 .csvoptions
exportCsv 参数说明
属性描述类型可选值默认值
filename文件名Stringtable.csv
original是否导出源数据Booleanfalse
isHeader是否显示表头Booleanfalse
download是否马上下载,如果设置为 false 则通过返回结果为内容的 PromiseBooleantrue
data自定义数据Array
columns自定义列Array
columnFilterMethod列过滤方法,该函数 Function(column,columnIndex) 的返回值用来决定该列是否导出Function
dataFilterMethod数据过滤方法,该函数 Function(row,rowIndex) 的返回值用来决定该数据是否导出Function

Table-column

<vxe-table-column prop="name" label="Name"></vxe-table-column>
Table-column Attributes 参数
参数说明类型可选值默认值
type列的类型Stringindex / selection / radio / expand
edit-render列编辑配置项Object/Booleanoptions
prop列属性String
label列标题String
width列宽度String
min-width最小列宽度,把剩余宽度按比例分配String
fixed将列固定在左侧或者右侧Stringleft
align列对其方式Stringleft
header-align表头对齐方式String
ellipsis当内容过长时显示为省略号Booleanfalse
show-overflow-title当内容过长显示为省略号和原生的 title 显示内容Booleanfalse
show-overflow-tooltip当内容过长显示为省略号并用 tooltip 显示完整内容Booleanfalse
formatter格式化显示内容 Function({cellValue, row, rowIndex, column, columnIndex})Function
index-method只对 type=index 有效,自定义索引方法 Function({row, rowIndex, column, columnIndex})Function
sortable是否允许列排序,如果是服务端排序需要设置为customBoolean
sortBy只对 sortable 有效,自定义排序的属性String/Array
filters配置筛选条件数组Array
filter-multiple只对 filters 有效,筛选是否允许多选Booleantrue
filter-method只对 filters 有效,自定义筛选方法 Function({value, row, column})Function
column-key列的 keyString/Number
edit-render 配置项说明
属性描述类型可选值默认值
type渲染类型Stringdefault(组件触发后可视) / visible(组件一直可视)default
name支持渲染的组件Stringinput / textareainput
autofocus如果是自定义渲染可以指定聚焦的 classString
Table-column Scoped Slot
name说明
自定义显示内容,参数为 { row, rowIndex, column, columnIndex, fixed, isHidden }
header自定义表头的内容,参数为 { column, columnIndex, fixed, isHidden }
edit自定义可编辑组件模板,参数为 { column, columnIndex, fixed, isHidden }

Example

<template>
  <div>
    <button @click="$refs.vTable.exportCsv()">Export.cvs</button>
    <vxe-table ref="vTable" :data.sync="tableData">
      <vxe-table-column type="index" width="60"></vxe-table-column>
      <vxe-table-column prop="name" label="Name"></vxe-table-column>
      <vxe-table-column prop="sex" label="Sex"></vxe-table-column>
      <vxe-table-column prop="address" label="Address"></vxe-table-column>
    </vxe-table>
  </div>
</template>

<script>
export default {
  data () {
    return {
      tableData: [
        {
          id: 10001,
          checked: false,
          name: 'test1',
          role: 'developer',
          sex: 'Man',
          date: '2019-05-01',
          time: 1556677810888,
          region: 'ShenZhen',
          address: 'address abc123'
        }
      ]
    }
  }
}
</script>

License

Copyright (c) 2019-present, Xu Liangzhan

Keywords

FAQs

Package last updated on 10 May 2019

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc