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

相关推荐
悟能不能悟1 分钟前
<style scoped>vue中怎么引用css文件
css·vue.js
向葭奔赴♡11 分钟前
若依系统权限控制全流程解析
前端·javascript·vue.js·ruoyi·navicat
u***u68521 分钟前
Vue虚拟现实案例
前端·vue.js·vr
艾小码32 分钟前
Vue 3 defineProps 与 defineEmits 深度解析
前端·javascript·vue.js
前端炒粉4 小时前
35.LRU 缓存
开发语言·javascript·数据结构·算法·缓存·js
lumi.6 小时前
Vue + Element Plus 实现AI文档解析与问答功能(含详细注释+核心逻辑解析)
前端·javascript·vue.js·人工智能
S***t7147 小时前
Vue面试经验
javascript·vue.js·面试
粉末的沉淀8 小时前
css:制作带边框的气泡框
前端·javascript·css
p***h6439 小时前
JavaScript在Node.js中的异步编程
开发语言·javascript·node.js
N***73859 小时前
Vue网络编程详解
前端·javascript·vue.js