当前位置:首页 > VUE

vue实现上下翻页

2026-01-17 10:54:51VUE

vue实现上下翻页功能

使用v-for和数组切片

通过v-for渲染当前页数据,结合数组切片实现分页逻辑。data中定义当前页码和每页条数,计算属性返回当前页数据。

data() {
  return {
    list: [], // 全部数据
    currentPage: 1,
    pageSize: 10
  }
},
computed: {
  paginatedData() {
    const start = (this.currentPage - 1) * this.pageSize
    const end = start + this.pageSize
    return this.list.slice(start, end)
  }
},
methods: {
  prevPage() {
    if (this.currentPage > 1) this.currentPage--
  },
  nextPage() {
    if (this.currentPage < this.totalPages) this.currentPage++
  }
}

使用第三方分页组件

安装分页组件库如element-ui的Pagination组件,快速实现标准分页功能。

<template>
  <el-pagination
    @current-change="handleCurrentChange"
    :current-page="currentPage"
    :page-size="pageSize"
    layout="prev, pager, next"
    :total="total">
  </el-pagination>
</template>

无限滚动加载

监听滚动事件,当滚动到底部时自动加载下一页数据,适合移动端场景。

mounted() {
  window.addEventListener('scroll', this.handleScroll)
},
methods: {
  handleScroll() {
    const scrollY = window.scrollY
    const visibleHeight = window.innerHeight
    const pageHeight = document.documentElement.scrollHeight
    const bottom = pageHeight - (scrollY + visibleHeight) < 50

    if (bottom && !this.loading) {
      this.loadNextPage()
    }
  }
}

路由参数分页

通过路由参数保存当前页码,实现可分享的分页链接。

watch: {
  '$route.query.page'(newPage) {
    this.currentPage = Number(newPage) || 1
  }
},
methods: {
  changePage(page) {
    this.$router.push({
      query: { ...this.$route.query, page }
    })
  }
}

键盘事件翻页

监听键盘上下箭头事件实现快捷翻页,提升用户体验。

mounted() {
  document.addEventListener('keydown', this.handleKeyDown)
},
methods: {
  handleKeyDown(e) {
    if (e.key === 'ArrowUp') this.prevPage()
    if (e.key === 'ArrowDown') this.nextPage()
  }
}

每种实现方式适用于不同场景,可根据具体需求选择合适方案。数组切片方案适合简单列表,第三方组件提供完整分页功能,无限滚动适合移动端浏览,路由参数分页支持页面状态共享,键盘事件增强操作便捷性。

vue实现上下翻页

标签: 翻页上下
分享给朋友:

相关文章

vue实现翻页效果

vue实现翻页效果

Vue实现翻页效果的方法 使用v-for和计算属性 通过计算属性动态计算当前页显示的数据,结合v-for渲染分页内容。定义currentPage和pageSize控制分页逻辑。 <te…

vue实现网页上下滑动

vue实现网页上下滑动

Vue实现网页上下滑动的方法 使用CSS实现基础滚动 通过CSS的overflow-y属性控制容器滚动,适用于静态内容滚动: .scroll-container { height: 100vh…

vue实现翻页

vue实现翻页

Vue实现翻页功能 翻页功能通常结合后端API分页数据实现,以下是基于Vue 2或Vue 3的实现方案: 基础数据准备 需要定义当前页码、每页条数、总数据量等核心变量: data() { re…

vue实现翻页效果

vue实现翻页效果

使用Vue实现翻页效果 在Vue中实现翻页效果通常需要结合分页组件和数据处理逻辑。以下是几种常见方法: 基础分页组件实现 <template> <div>…

如何实现翻页式h5

如何实现翻页式h5

翻页式H5的实现方法 翻页式H5通常指通过滑动或点击切换页面的交互形式,常用于营销活动、产品展示等场景。以下是几种常见的实现方式: 使用HTML5和CSS3实现基础翻页 通过CSS3的transf…

vue滚动实现翻页

vue滚动实现翻页

实现滚动翻页的基本思路 在Vue中实现滚动翻页,通常需要监听滚动事件,判断是否滚动到页面底部,然后触发加载更多数据的操作。这可以通过结合原生DOM事件或第三方库来实现。 使用原生滚动事件监听 在V…