el-table

el-table实现滚动效果

表格数据是websocket通信获取的数据,首次获取20条数据,以后新增订阅获取一条,新增一条则向上滑动显示最新数据。

javascript 复制代码
const scroll = (tableBody: any) => {
  // 先清除后设置
  cancelAnimationFrame(scrollTimer.value);
  let isScroll = true; //滚动
  const tableDom = tableBody.getElementsByClassName("el-scrollbar__wrap")[0];
  tableDom.scrollTop = tableDom.scrollHeight - curScrollHeight.value - tableDom.clientHeight;
  tableData.value.length <= 300 && (curScrollHeight.value += tableDom.scrollTop);
  scrollTimer.value = requestAnimationFrame(function fn() {
    if (isScroll) {
      tableDom.scrollTop -= 2; //设置滚动速度
      if (tableDom.scrollTop <= 0) {
        isScroll = false;
        if (tableData.value.length > 300) {
          tableData.value.pop();
        }
      }
    }
    requestAnimationFrame(fn);
  })

方法中的tableBody参数为table的ref,tableRef.value.$refs.bodyWrapper

相关推荐
江湖yi山人4 分钟前
生产环境的log,上传到开发者的本地服务器
javascript·python
嘉琪00120 分钟前
provide 和 inject的理解?
前端·javascript·vue.js
满天星辰22 分钟前
Vue3响应式API-reactive的原理
前端·vue.js
沙子迷了蜗牛眼26 分钟前
当展示列表使用 URL.createObjectURL 的创建临时图片、视频无法加载问题
java·前端·javascript·vue.js
Hi_kenyon40 分钟前
VUE3套用组件库快速开发(以Element Plus为例)三
前端·javascript·vue.js
AC赳赳老秦41 分钟前
Shell 脚本批量生成:DeepSeek 辅助编写服务器运维自动化指令
运维·服务器·前端·vue.js·数据分析·自动化·deepseek
J总裁的小芒果41 分钟前
原生Table写一行保证两条数据
javascript·vue.js·elementui
jqq6661 小时前
解析ElementPlus打包源码(五、copyFiles)
前端·javascript·vue.js
还不秃顶的计科生2 小时前
defaultdict讲解
开发语言·javascript·ecmascript
花归去2 小时前
echarts 柱状图包含右侧进度
开发语言·前端·javascript