elementui el-table滾動
阿新 • • 發佈:2021-10-18
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>element-ui table自動滾動</title> </head> <script src="https://cdn.jsdelivr.net/npm/vue"></script> <link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css"> <script src="https://unpkg.com/element-ui/lib/index.js"></script> <body> <div id="app"> <el-table :data="tableData" height="300" border style="width: 70vw" ref="table"> <el-table-column prop="date" label="日期" width="180"> </el-table-column> <el-table-column prop="name" label="姓名" width="180"> </el-table-column> <el-table-column prop="address" label="地址"> </el-table-column> </el-table> </div> <script> new Vue({ el: '#app', data() { return { // 表格資料 tableData: [ { date: '2016-05-03', name: '王小虎', address: '上海市普陀區金沙江路 1518 弄' }, { date: '2016-05-02', name: '王小虎', address: '上海市普陀區金沙江路 1518 弄' }, { date: '2016-05-04', name: '王小虎', address: '上海市普陀區金沙江路 1518 弄' }, { date: '2016-05-01', name: '王小虎', address: '上海市普陀區金沙江路 1518 弄' }, { date: '2016-05-08', name: '王小虎', address: '上海市普陀區金沙江路 1518 弄' }, { date: '2016-05-06', name: '王小虎', address: '上海市普陀區金沙江路 1518 弄' }, { date: '2016-05-07', name: '王小虎', address: '上海市普陀區金沙江路 1518 弄' }] } }, mounted() { // 拿到表格掛載後的真實DOM const table = this.$refs.table // 拿到表格中承載資料的div元素 const divData = table.bodyWrapper // 拿到元素後,對元素進行定時增加距離頂部距離,實現滾動效果(此配置為每100毫秒移動1畫素) setInterval(() => { // 元素自增距離頂部1畫素 divData.scrollTop += 1 // 判斷元素是否滾動到底部(可視高度+距離頂部=整個高度) if (divData.clientHeight + divData.scrollTop == divData.scrollHeight) { // 重置table距離頂部距離 divData.scrollTop = 0 } }, 100) } }) </script> </body> </html>