
想象这样一个场景:你在开发后台管理系统时,使用el-table展示数据,有几列需要固定显示。你添加了fixed属性后,测试同学反馈说:'这个滚动条看得见却拖不动啊!' 这到底是怎么回事呢?
在使用 Element UI 的 el-table 组件时,固定列功能虽然实用,但会引发滚动条交互问题:
"让我们用三个步骤还原这个问题:
el-table__fixed 元素通过绝对定位实现:
::v-deep .el-table .el-table__fixed {
height: calc(100% - 14px) !important;
}当给 el-table 表格的列添加了 fixed属性之后,我们可以发现,被固定的部分虽然鼠标悬浮时会显示滚动条,但却无法拖动,通过修改表格固定列的高度,使固定列无法遮住滚动条,即可实现无障碍拖动。
::v-deep .el-table {
--scrollbar-height: 14px;
.el-table__fixed,
.el-table__fixed-right {
height: calc(100% - var(--scrollbar-height)) !important;
}
/* 无滚动条时恢复高度 */
&.is-scrolling-none ~ .el-table__fixed {
height: 100% !important;
}
}注意浏览器差异:
动态场景建议:
mounted() {
const scrollbarHeight = this.$el.offsetHeight - this.$el.clientHeight;
this.$el.style.setProperty('--scrollbar-height', `${scrollbarHeight}px`);
}希望我的分享能够帮助到更多的人,如果觉得我的分享有帮助的话,请大家一键三连支持一下哦~
❤️原创不易,期待你的关注与支持~
点赞👍+收藏⭐️+评论✍️ 😊之后我会继续更新前端学习小知识,关注我不迷路~**
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。