#vue3# el-table-horizontal-scroll 让 el-table 在底部显示横向滚动条

本文介绍了如何在El-Table宽度超出屏幕时,通过安装并注册`el-table-horizontal-scroll`插件,实现在可视区域底部自动添加横向滚动条,提高用户操作便捷性。同时,还展示了如何调整滚动条样式和配置选项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、需求:

el-table 的宽度超出浏览器宽度时,尽管 el_table 底部会出现滚动条,但使用起来不太便捷,因为每次需要先滚动到底部才能使用 el-table 的滚动体,这显得相当繁琐。

为了提升体验,希望在 el-table宽度超出屏幕宽度时,即使没有滚动到底部,也能够在可视范围底部添加一个横向(左右)的滚动条,能够更方便地使用 el-table

即系不需要拉到底部才可以显示滚动条

二、安装:

npm install el-table-horizontal-scroll

三、注册指令:

在main.ts(全局注册)

import horizontalScroll from 'el-table-horizontal-scroll'

// Vue3
app.use(horizontalScroll)

四、在页面使用:

v-horizontal-scroll

<el-table
  :data="data"
  v-horizontal-scroll
>
  <el-table-column
    fixed="left"
    label="a"
    prop="a"
  ></el-table-column>
  <el-table-column
    label="b"
    prop="b"
  ></el-table-column>
  <el-table-column
    label="c"
    prop="c"
  ></el-table-column>
  <el-table-column
    label="d"
    prop="d"
    width="1600"
  ></el-table-column>
</el-table>

属性 :

你可以使用 alwayshover,默认是 hover

当鼠标悬停在表格上时,滚动条会显示,

或者你可以将其更改为 always,使滚动条始终显示

示例:

<el-table
  :data="data"
  v-horizontal-scroll="'always'"
>
  <el-table-column
    fixed="left"
    label="a"
    prop="a"
  ></el-table-column>
  <el-table-column
    label="b"
    prop="b"
  ></el-table-column>
  <el-table-column
    label="c"
    prop="c"
  ></el-table-column>
</el-table>

五、在当前页面修改滚动条的css样式

使用深度穿透进行修改

::v-deep 时,确保你的选择器放在括号内)

//滚动条 滑动时的背景颜色
::v-deep(.el-scrollbar__thumb) {
	background-color:#B2C403;
}
//鼠标悬停滚动条的大小
::v-deep(.el-table-horizontal-scrollbar:hover) {
  transform: scaleY(1.5) translateY(-10%);
  filter: brightness(0.1);
}

### 关于 `el-table-virtual-scroll` 的文档、使用指南及示例 #### 文档概述 `el-table-virtual-scroll` 是专为 Vue.js 设计的一个高效表格虚拟滚动组件,旨在解决处理大规模数据集时性能瓶颈的问题。该库通过只渲染可见区域的数据来显著提高应用响应速度和用户体验[^1]。 #### 安装方法 为了集成此组件至项目中,可以通过 npm 或 yarn 进行安装: ```bash npm install el-table-virtual-scroll --save ``` 或者 ```bash yarn add el-table-virtual-scroll ``` #### 基本用法 引入并注册组件之后,在模板文件内可以直接使用 `<el-table>` 标签,并设置其属性以启用虚拟滚动功能。下面是一个简单的例子展示了如何配置基本参数: ```html <template> <div style="height: 400px;"> <!-- 启用虚拟滚动 --> <el-table :data="tableData" height="100%" stripe virtual-scroll> <el-table-column prop="date" label="日期"></el-table-column> <el-table-column prop="name" label="姓名"></el-table-column> <el-table-column prop="address" label="地址"></el-table-column> </el-table> </div> </template> <script> import { ref } from &#39;vue&#39;; export default { setup() { const tableData = ref([ // 数据项... ]); return { tableData, }; }, }; </script> ``` 上述代码片段定义了一个具有固定高度容器内的表格实例,其中启用了虚拟滚动特性以便更好地管理大量记录显示[^2]。 #### 动态列渲染支持 除了静态定义表头外,还允许开发者根据实际需求动态调整列布局。这通常涉及到计算属性或 watch 监听器配合使用,从而实现在特定条件下改变列结构的功能。 #### 处理水平方向上的溢出 当遇到较宽的内容超出视窗宽度的情况时,可以考虑采用专门针对横向滚动优化过的解决方案如 `el-table-horizontal-scroll` 来增强体验[^4]。 #### 解决分页加载中的问题 如果遇到了由于滚动条行为引起的重复请求或其他异常情况,则可能需要仔细检查事件绑定逻辑以及确保正确设置了防抖动机制或者其他形式的节流控制措施[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值