在使用el-table的时候,如果表格内的列数太多并且给每列设置了宽度或者有一列或多列进行了固定,当表格宽度超出屏幕宽度时,表格就会出现横向滚动条,这根滚动条不做处理始终会在表格最底部。当表格行数过多时,每次都需要滑到页面最底部才能看到并使用这个横向滚动条,非常麻烦。

目标:将横向滚动条固定在屏幕最底部或者你想要的任何位置

1、在el-table内加入两个自带的固定属性和一个自定义指令

属性:border    scrollbar-always-on

指令:v-scrollbar

 <el-table
    :data="data"
    style="width: 100%"
    border
    scrollbar-always-on
    v-scrollbar
  >

2、定义并导出自定义指定函数

export default function (app) {
  app.directive('scrollbar', {
    mounted(el, binding) {
      const bar = el?.querySelector('.el-scrollbar__bar')
      if (bar && el) {
        bar?.classList?.add('v-scroll__el-scrollbar__bar')
        el?.appendChild(bar)
      }
    },
  })
}

3、在上面自定义指令中有特殊的类名,在最外层的容器中写入Css,

/* table自定义指令样式 */
.v-scroll__el-scrollbar__bar.el-scrollbar__bar {
  z-index: 11;
  overflow-x: hidden;
  position: sticky;
  bottom: 58px;
}

4、完成以上三个步骤,恭喜你成功了!!

GitHub 加速计划 / eleme / element
54.06 K
14.63 K
下载
A Vue.js 2.0 UI Toolkit for Web
最近提交(Master分支:1 个月前 )
c345bb45 5 个月前
a07f3a59 * Update transition.md * Update table.md * Update transition.md * Update table.md * Update transition.md * Update table.md * Update table.md * Update transition.md * Update popover.md 5 个月前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐