【vue3的el-table表格内容自动滚动效果】

vue3的el-table表格内容自动滚动效果


效果展示

vue3 el-table 表格内容自动滚动效果

直接贴代码,有需要自取

<template>
  <div>
    <el-table ref="tableRef" :data="tableData" height="250">
      <el-table-column prop="date" label="Date" width="180" />
      <el-table-column prop="name" label="Name" width="180" />
      <el-table-column prop="address" label="Address" />
    </el-table>
  </div>
</template>

<script lang="ts" setup>
import { onMounted, ref, Ref } from 'vue'
const tableRef: Ref<HTMLElement | any> = ref(null) //表格实例
const tableData = ref<any[]>([]) //定义表格list
//表格测试数据
const getTableData = (): any => {
  let data = []
  for (var i = 0; i <= 50; i++) {
    data.push({
      date: i,
      name: `Tom${i}`,
      address: `地区${i}`
    })
  }
  return data
}

onMounted(() => {
  tableData.value = getTableData() //表格数据赋值
  scroll(tableRef.value.$refs.bodyWrapper) //设置滚动
})

const scroll = (tableBody: any) => {
  let isScroll = true //滚动
  const tableDom = tableBody.getElementsByClassName('el-scrollbar__wrap')[0]

  //鼠标放上去,停止滚动;移开,继续滚动
  tableDom.addEventListener('mouseover', () => {
    isScroll = false
  })
  tableDom.addEventListener('mouseout', () => {
    isScroll = true
  })

  setInterval(() => {
    if (isScroll) {
      tableDom.scrollTop += 3 //设置滚动速度
      if (tableDom.clientHeight + tableDom.scrollTop == tableDom.scrollHeight) {
        tableDom.scrollTop = 0
      }
    }
  }, 100)
}
</script>

原文链接:https://blog.csdn.net/leftfist/article/details/127568900 如涉及侵权,请联系删除

  • 8
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值