广告
返回顶部
首页 > 资讯 > 精选 >vue如何实现一个分页组功能
  • 870
分享到

vue如何实现一个分页组功能

2023-07-04 16:07:33 870人浏览 薄情痞子
摘要

这篇“Vue如何实现一个分页组功能”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“vue如何实现一个分页组功能”文章吧。文件的

这篇“Vue如何实现一个分页组功能”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“vue如何实现一个分页组功能”文章吧。

文件的目录:

vue如何实现一个分页组功能

我们在 pageComponentsTest.vue 页面引入了 pageComponent.vue 分页组件。整体思路是通过 props
来达到组件的灵活通用的效果,整体语法是使用vue的VM语法。

pageComponent.vue实现

首先实现一个分页,需要知道数据总条数,一个页面显示的数据条数和当前显示第几页的数据。那么我们在 pageComponent.vue 里面的 props 就有了。看下面的代码:

props: {   // 分页配置   pageConfig: {    type: Object, require: true, default() {     return {      pageSize: 10,   //一页的数据条数      pageNo: 0,    //当前页的索引      total: 0,     //总的数据条数      pageTotal: 0   //总的页数     }    }   }

根据用户入参,我们可以使用计算属性来计算一个总页数的变量:

computed: {   //计算总页数,如果传了pageTotal,直接取pageTotal的值,如果传了total,那么根据pageSize去计算   pageTotal(){    const config = this.pageConfig    if(config.pageTotal){     return config.pageTotal    }else {     if(config.pageSize && config.total){      return Math.ceil(config.total/config.pageSize)     }else {      return 0     }    }   }  }

有了总页数,和当前页,就需要各种判断来实现我们的html部分了,这里分4中情况

  1. 总页数小于8,只需要直接遍历到8就行了。

  2. 总页数大于8,但当前页小于4的。

  3. 总页数大于8,当前页靠后的。

  4. 总页数大于8,当前页在中间的。

下面看具体的实现:

<!--上一页-->   <button @click="prePage" :disabled="currentPage === 1">上一页</button>   <!--总页数小于8的-->   <template v-if="pageTotal <= showPageNo">    <button v-for="i in pageTotal" @click="changeCurrentPage(i)" :class="{active:i === currentPage}" :key="i">{{i}}</button>   </template>   <template v-else-if="currentPage < 4">    <button v-for="i in 6" @click="changeCurrentPage(i)" :class="{active:i === currentPage}" :key="i">{{i}}</button>    <button :disabled="true">···</button>    <button>{{pageTotal}}</button>   </template>   <template v-else-if="currentPage > pageTotal - 4">    <button>1</button>    <button :disabled="true">···</button>    <button v-for="i in 6" @click="changeCurrentPage(i + (pageTotal - 6))" :class="{active:(i + (pageTotal - 6)) === currentPage}" :key="i">{{i + (pageTotal - 6)}}</button>   </template>   <template v-else>    <button>1</button>    <button :disabled="true">···</button>    <button @click="changeCurrentPage(currentPage - 2)">{{currentPage - 2}}</button>    <button @click="changeCurrentPage(currentPage - 1)">{{currentPage - 1}}</button>    <button class="active">{{currentPage}}</button>    <button @click="changeCurrentPage(currentPage + 1)">{{currentPage + 1}}</button>    <button @click="changeCurrentPage(currentPage + 2)">{{currentPage + 2}}</button>    <button :disabled="true">···</button>    <button @click="changeCurrentPage(pageTotal)">{{pageTotal}}</button>   </template>   <!--下一页-->   <button @click="nextPage" :disabled="currentPage === pageTotal">下一页</button>

可以看到页面上需要实现3个方法,分别是上下页,和点击页面的方法。

methods: {   prePage(){    this.currentPage -= 1    this.$emit('changeCurrentPage',this.currentPage)   },   nextPage(){    this.currentPage += 1    this.$emit('changeCurrentPage',this.currentPage)   },   changeCurrentPage(i){    this.currentPage = i    this.$emit('changeCurrentPage',this.currentPage)   }  }

以上就是 pageComponent.vue 的大致实现了,每次页面改变,都会触发一个 changeCurrentPage 方法的回调,用来通知当前使用组件的页面当前页已经改变。

pageComponentsTest.vue的实现

引用页面就比较简单了,只要传入组件需要的对应的参数,就能显示我们的组件了。 引用部分:

<template> <div class="pageComponentsTest">  <page-component :page-config="pageConfigTotal" @changeCurrentPage="changePage"></page-component>  <page-component :page-config="pageConfigPageTotal"></page-component> </div></template>

配合入参部分:

{  name: "pageComponentsTest",  data() {   return {    pageConfigTotal:{total:21,pageSize:10,pageNo:1},    pageConfigPageTotal:{total:21,pageSize:10,pageNo:1,pageTotal:50}   }  },  components:{'page-component':pageComponent},  methods: {   changePage(page){    this.pageConfigTotal.pageNo = page   }  } }

为什么要使用Vue

Vue是一款友好的、多用途且高性能的javascript框架,使用vue可以创建可维护性和可测试性更强的代码库,Vue允许可以将一个网页分割成可复用的组件,每个组件都包含属于自己的HTML、CSS、JavaScript,以用来渲染网页中相应的地方,所以越来越多的前端开发者使用vue。

以上就是关于“vue如何实现一个分页组功能”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注编程网精选频道。

--结束END--

本文标题: vue如何实现一个分页组功能

本文链接: https://www.lsjlt.com/news/346263.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • vue如何实现一个分页组功能
    这篇“vue如何实现一个分页组功能”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“vue如何实现一个分页组功能”文章吧。文件的...
    99+
    2023-07-04
  • vue实现一个简单的分页功能实例详解
    这是一个简单的分页功能,只能够前端使用,数据不能通过后台服务器进行更改,能容已经写死了。 下面的内容我是在做一个关于婚纱项目中用到的,当时好久没用vue了,就上网区找了别人的博客来看...
    99+
    2022-12-24
    vue分页功能 vue实现一个简单的分页功能
  • 如何使用Vue代码实现一个分页组件
    本篇内容主要讲解“如何使用Vue代码实现一个分页组件”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何使用Vue代码实现一个分页组件”吧!组件部分代码:Vue.component('zp...
    99+
    2023-07-04
  • vue实现分页功能
    本文实例为大家分享了vue实现分页功能的具体代码,供大家参考,具体内容如下 使用组件分页 自己写分页 一、组件分页 <el-paginatio...
    99+
    2022-11-12
  • vue iview如何实现分页功能
    本篇内容介绍了“vue iview如何实现分页功能”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!子组件<template&g...
    99+
    2023-07-02
  • VUE+SpringBoot实现分页功能
    本文主要介绍一下 Vue + SpringBoot 中如何实现一个分页列表数据。 1、效果展示 2、VUE代码 VUE之视图定义 <el-row> ...
    99+
    2022-11-12
  • 使用Django怎么实现一个分页功能
    这篇文章主要为大家详细介绍了使用Django怎么实现一个分页功能,文中示例代码介绍的非常详细,具有一定的参考价值,发现的小伙伴们可以参考一下:创建项目创建APP,添加APP这些就不在多说我们这次重点来看到视图函数下面是路由设置视图函数继承T...
    99+
    2023-06-06
  • vue如何实现简单的分页功能
    这篇文章将为大家详细讲解有关vue如何实现简单的分页功能,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。具体内容如下我们都知道在spring boot项目中安装pagehelper可以实现分页功能,但是在v...
    99+
    2023-06-29
  • vue实现简单分页功能
    本文实例为大家分享了vue实现简单的分页功能的具体代码,供大家参考,具体内容如下 <template> <div id="pages">     <di...
    99+
    2022-11-13
  • vue实现表格分页功能
    本文实例为大家分享了vue实现表格分页功能的具体代码,供大家参考,具体内容如下 直接上代码: 这里是这里是template部分,主要由一个需要分页的表格和一个分页器组成。重点在于表格...
    99+
    2022-11-12
  • 在Spring项目中使用 Hibernate如何实现一个分页功能
    本篇文章给大家分享的是有关在Spring项目中使用 Hibernate如何实现一个分页功能,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。最关键的是运用Hibernate的que...
    99+
    2023-05-31
    spring hibernate 分页
  • 如何在Android应用中利用ListView实现一个分页功能
    今天就跟大家聊聊有关如何在Android应用中利用ListView实现一个分页功能,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。Android ListView分页简单实现分页,开发...
    99+
    2023-05-31
    android listview roi
  • vue实现简单的分页功能
    前端Vue实现分页功能,供大家参考,具体内容如下 我们都知道在spring boot项目中安装pagehelper可以实现分页功能,但是在vue中也能在前端实现分页。 1、首先,在d...
    99+
    2022-11-13
  • 使用Ajax怎么实现一个搜索分页功能
    使用Ajax怎么实现一个搜索分页功能?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。什么是ajaxajax是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术,可以通...
    99+
    2023-06-08
  • 怎么在Java中实现一个分页遍历功能
    怎么在Java中实现一个分页遍历功能?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。 数据查询模拟首先mock一个分页获取数据的逻辑,直接随机生成数据,并且控制最多返回三页pub...
    99+
    2023-06-06
  • 怎么在Java项目中实现一个分页功能
    怎么在Java项目中实现一个分页功能?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。分页对象public class PageUtils imp...
    99+
    2023-05-31
    java ava 目中
  • vue中怎么实现一个翻页组件
    这篇文章将为大家详细讲解有关vue中怎么实现一个翻页组件,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。首先,翻页组件(以下称“pager组件”)一般拥有的元...
    99+
    2022-10-19
  • 使用Pandas怎么实现一个分组计数功能
    这篇文章将为大家详细讲解有关使用Pandas怎么实现一个分组计数功能,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。在对dataframe进行分析的时候会遇到需要分组计数,计数的column中...
    99+
    2023-06-14
  • 如何在Spring MVC中使用MyBatis与MySQL实现一个分页功能
    这篇文章将为大家详细讲解有关如何在Spring MVC中使用MyBatis与MySQL实现一个分页功能,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。方法如下: 首先写一个分页的工具...
    99+
    2023-05-31
    springmvc mysql mybatis
  • Vue+ElementUI 实现分页功能-mysql数据
    目录1.问题2.解决2.1分页组件2.2获取数据库数据的函数:getData():2.3页面加载完成,需要请求第一页的数据3.分析4.结果1.问题 当数据库中数据比较多时,就要每次只...
    99+
    2022-11-12
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作