element ui table scrollTop 滚动到行头或行尾

element ui table 添加数据行后滚动条滚动到对应的行头或行尾问题;

各搜索引擎搜了好久都没有找到相对有效的方法;

后来经过分析发现其实是一件非常简单的事儿;

以下为最后的解决方法,非常的简单,方便;


滚动到第一行:

this. $refs. table. bodyWrapper. scrollTop = 0;

滚动到最后一行:

this. $refs. table. bodyWrapper. scrollTop = this. $refs. table. bodyWrapper. scrollHeight;

在此记录一下,希望能给后来者提供一些帮助

  • 5
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
Element UI 提供了一个灵活的表格组件 `ElTable`,它支持树形数据的展示。如果你想实现行吸顶效果,即当滚动到某一行时,该行会始终保持在视口顶部,可以使用虚拟滚动和自定义的滚动事件来实现。以下是基本步骤: 1. 使用 `tree-props` 属性配置树形结构:首先,你需要设置 `data` 为树形数据,并配置 `tree-props`,告诉 Element UI 数据的父级和子级关系。 ```javascript <el-table :data="treeData" :tree-props="{ children: 'children', hasChildren: 'hasChildren' }" > <!-- ... --> </el-table> ``` 2. 配置虚拟滚动:启用虚拟滚动 (`:virtual-scroll`) 可以提高表格性能,特别是数据量大时。 ```javascript <el-table :virtual-scroll="true" /> ``` 3. 自定义滚动事件:在 `mounted` 或 `created` 生命周期钩子中监听滚动事件,并检查滚动条位置,如果当前行不在视口中,将其滚动到顶部。 ```javascript export default { mounted() { this.handleScroll(); window.addEventListener('scroll', this.handleScroll); }, beforeDestroy() { window.removeEventListener('scroll', this.handleScroll); }, methods: { handleScroll() { const { scrollTop, clientHeight, scrollHeight, scrollElement, rowHeight } = this.$refs.table; if (scrollTop + clientHeight >= scrollHeight) { const currentRow = this.currentRow || {}; // 假设你有一个当前行的变量 const targetIndex = this.treeData.findIndex(item => item === currentRow); if (targetIndex !== -1) { const targetRow = this.treeData[targetIndex]; scrollElement.scrollTop = targetRow.offsetTop - rowHeight; // 吸顶处理 } } } } } ``` 记得在适当的时候更新 `currentRow` 变量,比如当用户点击或选中某一行时。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值