vue3 + element-plus 设置表格自动滚动
el-table 中设置 ref,用来获取元素,必须设置高度才可以滚动,鼠标放上停止自动滚动,可手动滚动,鼠标离开自动滚动。
·
el-table 中设置 ref,用来获取元素,必须设置高度才可以滚动,鼠标放上停止自动滚动,可手动滚动,鼠标离开自动滚动
<el-table
ref="myTable"
height="500"
@mouseover.native="clearScroll"
@mouseleave.native="createScroll"
></el-table>
import { ref, onMounted, onUnmounted } from 'vue'
let timer = null
let myTable = ref(null)
const clearScroll = () => {
clearInterval(timer)
timer = null
}
const createScroll = () => {
clearScroll()
// 拿到 table
const table = myTable.value.layout.table.refs
// 拿到可以滚动的元素
const tableWrapper = table.bodyWrapper.firstElementChild.firstElementChild
timer = setInterval(() => {
tableWrapper.scrollTop += 1
// 判断是否滚动到底部,如果到底部了置为0(可视高度+距离顶部=整个高度)
if (tableWrapper.clientHeight + tableWrapper.scrollTop == tableWrapper.scrollHeight) {
tableWrapper.scrollTop = 0
}
}, 100)
}
onMounted(() => {
createScroll()
})
onUnmounted(() => {
clearScroll()
})
更多推荐
所有评论(0)