vxe-table按需引入的坑

文章讲述了在使用VXETable时按需引入遇到的三个问题:1.获取全局对象报错;2.添加合计行报错和注册;3.单元格溢出显示问题。提供了解决方案,包括降级babel-plugin-import版本和正确使用Vue.use()加载组件。
摘要由CSDN通过智能技术生成

vxe-table推荐全局引入, 按需引入有坑

1. 按需引入

npm install xe-utils vxe-table@legacy
npm install babel-plugin-import -D
//main.js中
import Vue from 'vue'
import 'xe-utils'

import {
  Footer,
  Icon,
  Column,
  Table,
  Tooltip
} from 'vxe-table'

import 'vxe-table/lib/index.css'
Vue.use(Icon)
Vue.use(Column)
Vue.use(Table)
Vue.use(Footer)
Vue.use(Tooltip)

//babel.config.js中
module.exports = {
  plugins: [
    [
      "import",
      {
        "libraryName": "vxe-table",
        "style": false // 样式是否也按需加载
      }
    ]
  ]
}

2. 遇到的坑

1. 按需引入获取VXETable 全局对象报错

按照官方引入, 报如下错误, 百度的结果是将babel-plugin-import降到1.13.6版本, 经过尝试没有用, 我这里没有用到国际化, 因此直接没有引入

//官方按需引入示例,
import {
  VXETable,
} from 'vxe-table'

在这里插入图片描述

2. 按需引入添加合计行报错

报错:
Unknown custom element: - did you register the component correctly? For recursive components, make sure to provide the “name” option.

在这里插入图片描述
原因

此地只是使用了table与column, 所以我只注册了两个, 而在报错后, 在官方按需实例文档中并未找到关于table-footer的引入, 直接引入TableFooter又会报错找不到, 在源码统一导出中, 实际上是导出的Footer, 添加Vue.use(Footer)即可解决

//template部分
  <vxe-table
      show-footer
      :row-config="{isHover: true}"
      :footer-method="footerMethod"
      :data="tableData">
      <vxe-column type="seq" width="60"></vxe-column>
    </vxe-table>

解决

import {
  Footer,
  Column,
  Table
} from 'vxe-table'
Vue.use(Column)
Vue.use(Table)
Vue.use(Footer) //添加Footer解决

3.按需引入单元格溢出省略号show-overflow="tooltip"不生效

//template部分代码
<vxe-table
      :data="tableData">
      <vxe-column field="role" title="角色" show-overflow='tooltip'></vxe-column>
</vxe-table>

正常的样式
在这里插入图片描述

不起作用时
在这里插入图片描述
解决:

这个功能依赖少Tooltip组件, 需要引入了Tooltip

import {
  Column,
  Table,
  Tooltip
} from 'vxe-table'
Vue.use(Column)
Vue.use(Table)
Vue.use(Tooltip)
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值