require: vue 2.6+, xe-utils 2.6+
src/plugins/utils.js
import 'xe-utils'
src/plugins/table.js
import Vue from 'vue'
import VXETable from 'vxe-table'
import 'vxe-table/lib/index.css'
Vue.use(VXETable)
main.js
import './plugins/utils'
import './plugins/table'
src/plugins/utils.js
import 'xe-utils'
src/plugins/table.js
import Vue from 'vue'
import XEUtils from 'xe-utils'
import {
VXETable,
Icon,
Header,
Column,
Table
} from 'vxe-table'
import zhCN from 'vxe-table/lib/locale/lang/zh-CN'
// 导入默认的国际化(如果项目中使用多语言,则应该导入到 vue-i18n 中)
VXETable.setup({
i18n: key => XEUtils.get(zhCN, key)
})
// 先按需导入依赖的模块
Vue.use(Icon)
Vue.use(Header)
Vue.use(Column)
// 最后安装核心库
Vue.use(Table)
main.js
import './plugins/utils'
import './plugins/table'
安装插件,支持按需加载
npm install babel-plugin-import -D
修改 .babelrc 或 babel.config.js 配置文件
module.exports = {
// ...,
plugins: [
[
'import',
{
'libraryName': 'vxe-table',
'style': true
}
]
]
}
在 scss 样式文件中引用
@import 'vxe-table/styles/variable.scss';
@import 'vxe-table/styles/icon.scss';
@import 'vxe-table/styles/table.scss';
@import 'vxe-table/styles/column.scss';
@import 'vxe-table/styles/header.scss';
@import 'vxe-table/styles/body.scss';
src/plugins/utils.js
import 'xe-utils'
src/plugins/table.js
import XEUtils from 'xe-utils'
import VXETable from 'vxe-table/packages/v-x-e-table'
import Header from 'vxe-table/packages/header'
import Column from 'vxe-table/packages/column'
import Table from 'vxe-table/packages/table'
import zhCN from 'vxe-table/packages/locale/lang/zh-CN'
// 导入默认的国际化(如果项目中使用多语言,则应该导入到 vue-i18n 中)
VXETable.setup({
i18n: key => XEUtils.get(zhCN, key)
})
// 先按需导入依赖的模块
Vue.use(Column)
Vue.use(Header)
// 最后安装核心库
Vue.use(Table)
main.js
import './plugins/utils'
import './plugins/table'