vue3+elementplus el-table滚动条在Mac本消失

        前几天发现在自己的项目中出现一个问题,这个问题应该很久了,但是一直都没人提(可能测试的电脑是window的原因),就是在Mac本上el-table滚动条会消失。

        先说一下滚动条在el-table上消失的原因吧,就是必须给一个max-height或者hight,在onmounted生命周期中。

        我一直很好奇原因,然后看到了源码发现也没什么问题,首先我发现elementplus跟elementui的table不一样的地方是滚动条是自定义的,需要根据是不是hover上去显示隐藏的,然后我又发现其实是已经显示了,就是里面那个滚动条没有得到计算

 

看到这个transform没有,一直没有变化,所以我们打开elementui的源码看一下 ,然而什么都没查到所以进一步猜测应该不是表格的问题,后来我在官网看demo的时候发现如果没有设置max-height,跟height也会出现这个问题但是只在mac本上,window上没有问题,我就试着加了一个默认值,并用resize监听,果然解决了。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
可以使用 CSS 样式来为 el-table 添加滚动条,具体的实现方式如下: 1. 在 el-table 的外层包裹一个 div 容器,并设置该容器的高度和 overflow 属性为 auto。 2. 在 el-table 的样式中,设置表格的宽度为 100%。 3. 在 el-table 的样式中,设置表格的 tbody 的 display 属性为 block,并设置其高度为 100%。 4. 在 el-table 的样式中,设置表格的 tbody 的 overflow 属性为 auto。 5. 在 el-table 的样式中,设置表格的 tbody 的 white-space 属性为 nowrap,这样可以让表格的内容不换行。 6. 在 el-table 的样式中,设置表格的 tbody 的 table-layout 属性为 fixed,这样可以让表格的列宽度固定。 7. 最后,在 el-table 的样式中,设置表格的 th 和 td 的 padding 属性为 0,这样可以让表格的内容与边框之间没有间隔。 下面是一个示例代码: ``` <template> <div class="table-container"> <el-table :data="tableData" style="width: 100%"> <el-table-column prop="name" label="姓名"></el-table-column> <el-table-column prop="age" label="年龄"></el-table-column> <el-table-column prop="address" label="地址"></el-table-column> </el-table> </div> </template> <style> .table-container { height: 300px; overflow: auto; } .el-table__body-wrapper { display: block; height: 100%; overflow: auto; white-space: nowrap; table-layout: fixed; } .el-table__header-wrapper th, .el-table__body-wrapper td { padding: 0; } </style> ``` 希望这个回答能够帮助到你!
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值