vue 表格自动轮播

今天写个tab表格自动轮播,写js费劲,找了个组件datav轮播表

官方事例地址:

http://datav.jiaminghi.com/guide/scrollBoard.html

安装:npm install @jiaminghi/data-view

局部引入:

import Vue from 'vue'

import { scrollBoard } from '@jiaminghi/data-view'

  

事例dom:

<dv-scroll-board :config="config" style="width:100%;height:100%;font-size: 20px;" @click="downloadAudioFrequency"/>

data() {

        return {

                config: {},

        }

},

created() {
  this.config = {
      header: ['时间', '通信方式', '通话音频'],
      headerBGC: 'midnightblue', // 表头背景色
      oddRowBGC: 'transparent', // 奇数行背景色
      evenRowBGC: 'transparent', // 偶数行背景色
      waitTime: 3000, // 滚动间隔时间
      index: true, // 是否显示序号
      indexHeader: '序号', // 序号表头
      carousel: 'page', // 轮播'single'|'page'
      hoverPause: true, // 鼠标悬浮是否暂停滚动
      columnWidth: [60, 200, 120, 120], // 列宽
      align: ['center', 'center', 'center', 'center'], // 列对齐方式
      data: [
        ['2022-10-25 10:12:35', '终端→总台', '音频1', '<span style="dispaly:none">1</span>'],
        ['2022-10-25 10:15:35', '终端→终端', '音频2', '1'],
        ['2022-10-25 10:17:35', '总台→终端', '音频3', '1'],
        ['2022-10-25 10:32:35', '终端→总台', '音频4', '1'],
        ['2022-10-25 10:32:35', '终端→终端', '音频5', '1'],
        ['2022-10-25 10:42:35', '终端→终端', '音频6', '1'],
        ['2022-10-25 10:42:35', '终端→总台', '音频7', '1'],
        ['2022-10-25 10:52:35', '终端→总台', '音频8', '1'],
        ['2022-10-25 11:12:35', '终端→终端', '音频9', '1'],
        ['2022-10-25 12:12:35', '终端→总台', '音频10', '1'],
        ['2022-10-25 13:12:35', '终端→总台', '音频11', '1'],
        ['2022-10-25 13:13:35', '终端→终端', '音频12', '1'],
        ['2022-10-25 14:14:35', '终端→总台', '音频13', '1'],
        ['2022-10-25 14:22:35', '总台→终端', '音频14', '1'],
        ['2022-10-25 15:32:35', '终端→总台', '音频15', '1'],
        ['2022-10-25 15:42:35', '终端→总台', '音频16', '1'],
        ['2022-10-25 16:23:35', '总台→终端', '音频17', '1'],
        ['2022-10-25 18:42:35', '终端→总台', '音频18', '1'],
        ['2022-10-25 20:17:35', '总台→终端', '音频19', '1'],
        ['2022-10-25 22:16:35', '终端→总台', '音频20', '1']
      ]
    }

}

最终效果:

 

 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
可以使用 Vue 的 transition 组件来实现表格上下轮播图的效果。具体实现步骤如下: 1. 在表格中添加一个 div 容器,用于包裹需要轮播的图片。 2. 使用 CSS 将这个容器设置为固定高度,同时设置 overflow 属性为 hidden,以便实现上下滚动的效果。 3. 在 Vue 中定义一个变量,用于记录当前显示的图片索引。 4. 使用 setInterval 函数定时切换图片,同时在切换时使用 transition 组件实现过渡效果。 下面是代码示例: ```html <template> <div class="table-container"> <table> <thead> <tr> <th>序号</th> <th>名称</th> <th>图片</th> </tr> </thead> <tbody> <tr v-for="(item, index) in dataList" :key="index"> <td>{{ index + 1 }}</td> <td>{{ item.name }}</td> <td> <div class="img-container"> <transition name="slide-up"> <img :src="item.images[currentIndex]" :key="currentIndex"> </transition> </div> </td> </tr> </tbody> </table> </div> </template> <script> export default { data() { return { dataList: [ { name: '图片1', images: ['image1-1.jpg', 'image1-2.jpg', 'image1-3.jpg'] }, { name: '图片2', images: ['image2-1.jpg', 'image2-2.jpg', 'image2-3.jpg'] }, { name: '图片3', images: ['image3-1.jpg', 'image3-2.jpg', 'image3-3.jpg'] } ], currentIndex: 0 } }, mounted() { // 每 3 秒钟切换一次图片 setInterval(() => { this.currentIndex = (this.currentIndex + 1) % 3 }, 3000) } } </script> <style> .table-container { max-height: 300px; overflow-y: auto; } .img-container { height: 100px; overflow: hidden; } .slide-up-enter-active, .slide-up-leave-active { transition: transform 0.5s; } .slide-up-enter, .slide-up-leave-to { transform: translateY(100%); } </style> ```

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值