溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

vue怎么使用el-table實現(xiàn)循環(huán)輪播數(shù)據(jù)列表

發(fā)布時間:2022-04-24 14:11:26 來源:億速云 閱讀:1504 作者:iii 欄目:開發(fā)技術

這篇文章主要介紹“vue怎么使用el-table實現(xiàn)循環(huán)輪播數(shù)據(jù)列表”,在日常操作中,相信很多人在vue怎么使用el-table實現(xiàn)循環(huán)輪播數(shù)據(jù)列表問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”vue怎么使用el-table實現(xiàn)循環(huán)輪播數(shù)據(jù)列表”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

使用el-table循環(huán)輪播數(shù)據(jù)列表

因為是在內(nèi)網(wǎng)開發(fā),安裝插件導包進去非常麻煩,有條件的可以去下載插件實現(xiàn),咱這里貼一下手擼的代碼。

需要實現(xiàn)的效果大抵如下:(手機拍的,有些糊)

大部分實現(xiàn)的是監(jiān)聽是否到了div的底部,如果到了底部,就直接跳到頂部,這種體驗感不是特別好,沒有達到輪播的真正效果。

vue怎么使用el-table實現(xiàn)循環(huán)輪播數(shù)據(jù)列表

 表格數(shù)據(jù),devData我綁定了個空數(shù)組,因為實在是懶得敲了,按道理排名也應該是從api獲取,而不是拿index。

<template>
  <div>
    <el-table
      :data="devData"
      >
      <el-table-column label="排名">
        <template slot-scope="scope">
          <span>第{{scope.$index +1}}名</span>
        </template>
      </el-table-column>
      <el-table-column
        prop="name"
        label="日期">
      </el-table-column>
      <el-table-column
        prop="scale"
        label="姓名">
      </el-table-column>
    </el-table>
  </div>
</template>
<script>
 export defalut {
  dsta() {
    return {
     devData: []
    }
  }
}
</script>
export defalut {
   created() {
      var isScroll = true // 也可以定義到data里
      this.$nextTick(() => {
        let div = document.getElementsByClassName('el-table__body-wrapper')[0]
        div.style.height = '110px'
        div.addEventListener('mouseenter', () => {
         isScroll = false
        })
        div.addEventListener('mouseleave', () => {
         idScroll = true
        })
        let t = document.getElementByClassName('el-table__body')[0]
        setInterval(() =>{
           if(isScroll) {
             let data = this.devData[0]
             setTimeout(() => {
                this.devData.push(data)
                t.style.transition = 'all .5s'
                t.style.marginTop = '-41px'
               }, 500)
             setTimeout(() =>{
               this.devData.splice(0,1)
               t.style.transition = 'all 0s ease 0s'
               t.style.marginTop = '0'
             }, 1000)
           }
         }, 2500)
       })
     }
  }

vue el-table簡單輪播

<el-table :data="readData0" size="mini" class="v-table" height="200"  ref="tableData_realtime" @cell-mouse-enter="hover_dibiao" @cell-mouse-leave="leave_dibiao">
 <el-table-column type="index" label="序號" width="50" align="center"></el-table-column>
                        <el-table-column prop="area" label="地區(qū)" align="center" :show-overflow-tooltip="true"></el-table-column>
                        <el-table-column prop="siteName" label="名稱" align="center" :show-overflow-tooltip="true"></el-table-column>
</el-table>
created() {
        this.$nextTick(()=> {  
            this.tableData_dibiao()//輪播                
        })          
   }, 
 
tableData_dibiao(){
        const table = this.$refs.tableData_realtime          
        const divData = table.bodyWrapper           
        this.dibiao_clear=setInterval(() => {               
            divData.scrollTop += 1               
            if (divData.clientHeight + divData.scrollTop == divData.scrollHeight) {                   
                divData.scrollTop = 0
            }
        }, 100)            
     },  
     hover_dibiao(){//鼠標移入清除定時器(暫停輪播)
        clearInterval(this.dibiao_clear)
     },
     leave_dibiao(){//鼠標移出繼續(xù)執(zhí)行輪播
        this.tableData_dibiao()
     },

到此,關于“vue怎么使用el-table實現(xiàn)循環(huán)輪播數(shù)據(jù)列表”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續(xù)學習更多相關知識,請繼續(xù)關注億速云網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI