Element ui plus 中 table scroll 自动触底

Element ui plus 中 table scroll 自动触底

场景:添加客户等级的时候,新增的客户等级 input 框 被 scroll 遮挡、重叠,需要保证 scroll 保持在 最底部接可以解决 遮挡、重叠。

el-table 在设置了 height 后,会选择将 table 表头固定

jsx 复制代码
<el-table :height="tableData.length*40+50>tableHeight?tableHeight:tableData.length*40+50" :data="tableData"
              style="width: 100%;"
              ref="TableRef"
              :cell-style="{ textAlign: 'center' }"
              v-loading="loading"
              :header-cell-style="{ 'text-align': 'center',background: '#f9f9f9', color: 'black',padding:'16px 0px'}"
    >
//table 中的其他内容
</el-table>

获取table内部的 scroll dom 然后并重新赋值

jsx 复制代码
const TableRef = ref()

function scrollBehavior(e) {
  const dom = TableRef.value.$refs.bodyWrapper.getElementsByClassName('el-scrollbar__wrap')[0]
 // 父容器高度 + 子容器距离父容器顶端的高度 = 子容器可滚动的高度
  const {clientHeight, scrollTop, scrollHeight} = dom
  if (clientHeight + scrollTop !== scrollHeight) {
    dom.scrollTop = dom.scrollHeight
  }
}

scrollBehavior 方法就是将 scroll 滚动到底部,选择执行的时间即可;我这里是在添加客户等级的时候进行执行的。

jsx 复制代码
const addNewTableItem = () => {
  if (isAdd.value) {
    ElMessage.warning(i18n.global.t('common.cds49'))
    return
  }
  isAdd.value = true;
  isEdit = true;
  tableData.value.push({
    name: "",
    age: 0,
    address: "",
    editing: true,
  });
  //操作真实dom
  nextTick(() => {
    scrollBehavior()
  })
};

然后就解决了👌

相关推荐
鬼手点金6 小时前
nanoGPT/nanochat 能做出 DeepSeek/Qwen 这样的大模型吗?
服务器·前端·javascript·bug·openclaw
蛋蛋的就会顺顺的6 小时前
hot100 p0——栈,贪心算法,动态规划
java·前端·javascript·算法·leetcode·力扣
程序员Sunday6 小时前
TypeScript 的 any、unknown、never 有什么区别?
前端·面试·typescript
朱涛的自习室6 小时前
70 美金的 Beyond Compare,我让 Gemini 4 和 DeepSeek 造个开源免费版(Day 2)
android·前端·人工智能
码艺-Alimjan7 小时前
Tauri 源码备份 · 打包 & 解压 总结,源码收集之路
前端·javascript·vue.js
小马不起床7 小时前
零基础玩转 FastAPI_11:前端后台管理页面
前端·状态模式·fastapi
子非鱼a8 小时前
【文件上传】一个普普通通的edu16
前端
美狐美颜SDK开放平台9 小时前
直播APP如何实现美白滤镜功能?视频美颜SDK技术开发方案详解
前端·数据库·人工智能·音视频·美颜sdk·直播美颜sdk·视频美颜sdk
pride.li10 小时前
第03章 Python 教程-基础语法:注释与变量
服务器·前端·后端·python·算法·计算机视觉
屏什么录10 小时前
电脑如何录屏幕视频和声音?从工具到代码,7 种方案帮你彻底搞定
前端·音视频开发