时间轴前后翻页

描述:日期每隔3个前后翻页

效果如下:

代码实现:

javascript 复制代码
<template>
  <div class="flex">
    <button @click="prev">前一页</button>
    <div class="box flex flex-1">
      <div class="box-item" v-for="(item, index) in mockTableFormate" :key="index">
        {{ item }}
      </div>
    </div>
    <button @click="next">后一页</button>
  </div>
</template>

<script setup>
import { computed, ref } from 'vue'
const mockTable = [
  '2024-12-1',
  '2024-12-2',
  '2024-12-3',
  '2024-12-4',
  '2024-12-5',
  '2024-12-6',
  '2024-12-7',
  '2024-12-8',
  '2024-12-9',
  '2024-12-10',
  '2024-12-11'
]

const total = mockTable.length
const currentIndex = ref(total)
const step = 3

const mockTableFormate = computed(() => {
  if (currentIndex.value >= step) {
    return mockTable.slice(currentIndex.value - step, currentIndex.value)
  } else {
    return mockTable.slice(0, currentIndex.value)
  }
})

function prev() {
  if (currentIndex.value - step > 0) {
    currentIndex.value = Math.max(currentIndex.value - step, 0)
  }
}

function next() {
  currentIndex.value = Math.min(currentIndex.value + step, total)
}
</script>

<style lang="scss" scoped>
.box {
  margin: 0 10px;
  width: 300px;
  .box-item {
    border: 1px solid red;
    border-radius: 4px;
  }
}

.flex {
  display: flex;
  justify-content: space-around;
}
</style>
相关推荐
坐井观老天11 分钟前
使用WPF和C#绘制覆盖网格的3D表面
开发语言·c#·wpf
web1511736022316 分钟前
怎样使用Eclipse创建Maven的Java WEB 项目
java·前端·eclipse
羽球知道18 分钟前
scala正则表达式特点方法
开发语言·正则表达式·scala
狂炫一碗大米饭20 分钟前
响应式设计:打造一个自动适应用户设备屏幕大小和方向的页面。
前端·javascript·代码规范
Kemo_26 分钟前
Java:主要特点、应用领域、架构工具、未来
java·开发语言·架构
冷眼看人间恩怨43 分钟前
【C++】关联存储结构容器-set(集合)详解
开发语言·c++·set
阿里嘎多f1 小时前
java之集合(详细-Map,Set,List)
java·开发语言
柠檬树^-^1 小时前
轮播(css+js)
前端·javascript·css
前端 贾公子1 小时前
用 Sass 模块化系统取代全局导入,消除 1.80.0 引入的 @import 弃用警告
前端·css·sass
秋刀鱼不做梦1 小时前
前端小案例——520表白信封
开发语言·前端·css·学习·html