vue实现简单的分页功能

 更新时间:2022年03月04日 10:28:23   作者:HLC!  
这篇文章主要为大家详细介绍了vue实现简单的分页功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

前端Vue实现分页功能,供大家参考,具体内容如下

我们都知道在spring boot项目中安装pagehelper可以实现分页功能,但是在vue中也能在前端实现分页。

1、首先,在data中定义以下变量:

data() {
    return {
      list: null,
      listLoading: true,
      totalPage: 1, // 统共页数,默认为1
            currentPage: 1, //当前页数 ,默认为1
            pageSize: 5, // 每页显示数量
      currentPageData: [], //当前页显示内容
      headPage: 1
    }
  },

2、发送请求,获取后端数据(list集合)

axios.get('http://192.168.56.1:8081/sel/'+id).then((res) =>{
        console.log(res.data.data ) 
        that.list = res.data.data 
        that.listLoading = false

3、根据返回数据list的length来计算data中变量的值:

this.totalPage=Math.ceil(this.list.length / this.pageSize);
        this.totalPage = this.totalPage == 0 ? 1 : this.totalPage;
        this.getCurrentPageData();

4、调用getCurrentPageData()方法设置当前页面的数据

getCurrentPageData() {
                        let begin = (this.currentPage - 1) * this.pageSize;
                        let end = this.currentPage * this.pageSize;
                        this.currentPageData = this.list.slice(
                            begin,
                            end
                        );
                    },

5、添加按钮并实现首页、尾页、上一页、下一页功能:

<input type="button" value="首页" @click="firstPage">
<input type="button" value="上一页" @click="prevPage">
<input type="button" value="下一页" @click="nextPage">
<input type="button" value="尾页" @click="lastPage">
 //上一页
prevPage() {
                      
          if (this.currentPage == 1) {
                 return false;
             } else {
                 this.currentPage--;
                 this.getCurrentPageData();
                }
                    },
                    // 下一页
                    nextPage() {

                        if (this.currentPage == this.totalPage) {
                            return false;
                        } else {
                            this.currentPage++;
                            this.getCurrentPageData();
                        }
              },
              //尾页
              lastPage() {

               if (this.currentPage == this.totalPage) {
                     return false;
                        } else {
                     this.currentPage=this.totalPage;
                      this.getCurrentPageData();
                  }
                 
              } ,
           //首页
              firstPage(){
             this.currentPage=  this.headPage;
             this.getCurrentPageData();
}

注意!

最后需要修改组件中的data

前端展示:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • Vue v-for中:key中item.id与Index使用的区别解析

    Vue v-for中:key中item.id与Index使用的区别解析

    这篇文章主要介绍了Vue v-for中:key中item.id与Index使用的区别解析,推荐使用【:key="item.id"】而不是将数组下标当做唯一标识,前者能做到全部复用,本文给大家详细讲解,感兴趣的朋友跟随小编一起看看吧
    2024-02-02
  • Vue+Openlayer实现图形的拖动和旋转变形效果

    Vue+Openlayer实现图形的拖动和旋转变形效果

    Openlayer具有自己的扩展插件ol-ext,可以用来实现图形的拖拽、旋转、缩放、拉伸、移动等操作,本文将主要介绍通过Openlayer实现图形的拖动和旋转,需要的同学可以学习一下
    2021-11-11
  • vue中自定义指令(directive)的基本使用方法

    vue中自定义指令(directive)的基本使用方法

    Vue中内置了很多的指令,但有时候这些指令并不能满足我们,或者说我们想为元素附加一些特别的功能,这时候我们就需要用到vue中一个很强大的功能了—自定义指令,这篇文章主要给大家介绍了关于vue中自定义指令(directive)的基本使用方法,需要的朋友可以参考下
    2021-09-09
  • vue3+ElementPlus使用lang="ts"报Unexpected token错误的解决办法

    vue3+ElementPlus使用lang="ts"报Unexpected token错误的解决

    最近开发中遇到了些问题,跟大家分享下,这篇文章主要给大家介绍了关于vue3+ElementPlus使用lang="ts"报Unexpected token错误的解决办法,需要的朋友可以参考下
    2023-01-01
  • 基于Vue、Vuex、Vue-router实现的购物商城(原生切换动画)效果

    基于Vue、Vuex、Vue-router实现的购物商城(原生切换动画)效果

    这篇文章主要介绍了基于Vue、Vuex、Vue-router实现的购物商城(原生切换动画)效果,需要的朋友可以参考下
    2018-01-01
  • Vue滚动页面到指定位置的实现及避坑

    Vue滚动页面到指定位置的实现及避坑

    这篇文章主要介绍了Vue滚动页面到指定位置的实现及避坑,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-09-09
  • 在vue中使用防抖和节流,防止重复点击或重复上拉加载实例

    在vue中使用防抖和节流,防止重复点击或重复上拉加载实例

    今天小编就为大家分享一篇在vue中使用防抖和节流,防止重复点击或重复上拉加载实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-11-11
  • 谈谈Vue中的nextTick

    谈谈Vue中的nextTick

    Vue.nextTick是Vue官方给我们提供的一个API(方法),作用是在下次DOM更新循环结束之后执行延迟回调。在修改数据之后立即使用这个方法,获取更新后的DOM
    2021-04-04
  • vue实现鼠标经过动画

    vue实现鼠标经过动画

    这篇文章主要为大家详细介绍了vue实现鼠标经过动画的方法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-10-10
  • vue3封装AES(CryptoJS)前端加密解密通信代码实现

    vue3封装AES(CryptoJS)前端加密解密通信代码实现

    防止数据被爬取,前后端传参接收参数需要加密处理,使用AES加密,这篇文章主要给大家介绍了关于vue3封装AES(CryptoJS)前端加密解密通信代码实现的相关资料,需要的朋友可以参考下
    2023-12-12

最新评论