20.記錄Vue項(xiàng)目vxe-table 按需引入

vxe-table 引入 (vxe-table 3.1.6版本才行 3.1.8版本有問題 需要引入固定版本)

npm install xe-utils vxe-table 

借助插件 babel-plugin-import 可以實(shí)現(xiàn)按需加載模塊,減少文件體積。修改 .babelrc 或 babel.config.js 配置文件

npm install babel-plugin-import -D

// 在 .babelrc 文件夾添加
{
        "plugins": [
          [
            "import",
            {
              "libraryName": "vxe-table",
              "style": true // 樣式是否也按需加載
            }
          ]
        ]
}

基于 vxe-table 表格的適配插件,用于兼容 iview、view-design 組件庫

npm install vxe-table-plugin-iview

最后這樣按需引入模塊,就可以減小體積了

// src / plugins / utils.js
import 'xe-utils'

// src / plugins / table.js
import Vue from 'vue'
import XEUtils from 'xe-utils'
import {
    VXETable,
    Table,
    Icon,
    Column,
    Header,
    Footer,
    Filter,
    Edit,
    Export,
    Keyboard,
    Validator,

    Grid, // </vxe-grid>
} from 'vxe-table'

//  適配 iview 組件
import VXETablePluginIView from 'vxe-table-plugin-iview'
import 'vxe-table-plugin-iview/dist/style.css'

// 表格模塊
Vue.use(Icon)
Vue.use(Header)
Vue.use(Footer)
Vue.use(Filter)
Vue.use(Edit)
Vue.use(Export)
Vue.use(Keyboard)
Vue.use(Validator)

// 可選組件
Vue.use(Column)
Vue.use(Grid)

// 安裝表格
Vue.use(Table)

VXETable.use(VXETablePluginIView)

// 給 vue 實(shí)例掛載內(nèi)部對象,例如:

Vue.prototype.XEUtils = XEUtils;

table 列拖拽

npm install sortablejs --save

// 在需要的頁面引入JS
import Sortable from 'sortablejs';

// 列拖拽
    columnDrop () {
      this.$nextTick(() => {
        let xTable = this.$refs.xTable;
        if(xTable){
          this.sortable = Sortable.create(xTable.$el.querySelector('.body--wrapper>.vxe-table--header .vxe-header--row'), {
            handle: '.vxe-header--column',
            onEnd: ({ newIndex, oldIndex }) => {
              let tableColumn = xTable.getColumns()
              let currRow = tableColumn.splice(oldIndex, 1)[0]
              tableColumn.splice(newIndex, 0, currRow)
              xTable.loadColumn(tableColumn)
            }
          })
        }
      })
    },

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容