iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >js怎么使用Pagination+PageHelper实现分页
  • 161
分享到

js怎么使用Pagination+PageHelper实现分页

2023-07-02 10:07:48 161人浏览 泡泡鱼
摘要

这篇文章主要介绍“js怎么使用Pagination+PageHelper实现分页”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“js怎么使用Pagination+PageHelper实现分页”文章能帮

这篇文章主要介绍“js怎么使用Pagination+PageHelper实现分页”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“js怎么使用Pagination+PageHelper实现分页”文章能帮助大家解决问题。

    一、分页的原理:

    1.1 分页的原理

    通过element-ui 的内置组件pagination实现分页,任何分页都有以下五个部分组成:

    • 记录的总条数

    • 每页显示的记录条数

    • 总页数

    • 当前是第几页

    • 当前页的所有记录

    1.2 真假分页

    pagination实际上是一个组件,组件里设置了分页常用到的参数,让pagination组件得到分页常用的参数值,这就能够实现分页了。

    真分页:当你目前在首页的时候,点击“第二页”或“下一页”的时候,会重新向后端发送请求,请求第二页的数据

    假分页:一开始从后端发送请求获取所有的数据,前端通过在组件的方式对数据进行分页,再点击分页的按钮的时候,数据其实已经在浏览器缓存的缓存中了,不需要再请求后端接口

    二、后端-PageHelper的使用:

    首先要在pom.xml中添加pageHelper的依赖

    <!--分页插件-->        <dependency>            <groupId>com.GitHub.pagehelper</groupId>            <artifactId>pagehelper</artifactId>            <version>5.1.10</version>        </dependency>

    在映射文件中书写“sql查询”语句;注意:语句结束不要用“;”

    <select id="QueryProductsById" resultMap="ProductsMap">        SELECT        <include refid="products_cloumn_list"/>        FROM products WHERE id = #{Id}    </select>

    书写Controller类,注意:调用PageHelper的startPage方法一定要在调用接口中方法前。

    @RequestMapping("/PageInfo")    public PageInfo<Products> pageInfo(int pageNum, int pageSize) {        PageHelper.startPage(pageNum, pageSize);        List<Products> list = productsDaoService.QueryProducts();        PageInfo<Products> pageInfo = new PageInfo<Products>(list);        return pageInfo;    }

    启动Tomcat服务器,使用apipost对接口进行测试,如果接口没有问题的话,就会在“实时响应”中获取到返回值信息。

    js怎么使用Pagination+PageHelper实现分页

    三、前端-Pagination的使用: 

    (使用pagination之前,需要会element-UI有初步的了解),因为使用pagination就是一个从Vue-element-admin上“搬运”代码的过程。具体可以在element集成上搜索“pagination”进行查看

    js怎么使用Pagination+PageHelper实现分页

    添加<template>标签的内容到需要分页的页面中

     <pagination      :total="total"      :page.sync="listQuery.page"      :limit.sync="listQuery.limit"      @pagination="getList" />

    根据element集成中,在<script>中导入Pagination组件

    import Pagination from '@/components/Pagination'

    pagination组件中index.vue的内容如下:

    <template>  <div :class="{'hidden':hidden}" class="pagination-container">    <el-pagination      :background="background"      :current-page.sync="currentPage"      :page-size.sync="pageSize"      :layout="layout"      :page-sizes="pageSizes"      :total="total"      v-bind="$attrs"      @size-change="handleSizeChange"      @current-change="handleCurrentChange"    />  </div></template> <script>import { scrollTo } from '@/utils/scroll-to' export default {  name: 'Pagination',  props: {    total: {      required: true,      type: Number    },    page: {      type: Number,      default: 1    },    limit: {      type: Number,      default: 20    },    pageSizes: {      type: Array,      default() {        return [10, 20, 30, 50]      }    },    layout: {      type: String,      default: 'total, sizes, prev, pager, next, jumper'    },    background: {      type: Boolean,      default: true    },    autoScroll: {      type: Boolean,      default: true    },    hidden: {      type: Boolean,      default: false    }  },  computed: {    currentPage: {      get() {        return this.page      },      set(val) {        this.$emit('update:page', val)      }    },    pageSize: {      get() {        return this.limit      },      set(val) {        this.$emit('update:limit', val)      }    }  },  methods: {    handleSizeChange(val) {      this.$emit('pagination', { page: this.currentPage, limit: val })      if (this.autoScroll) {        scrollTo(0, 800)      }    },    handleCurrentChange(val) {      this.$emit('pagination', { page: val, limit: this.pageSize })      if (this.autoScroll) {        scrollTo(0, 800)      }    }  }}</script> <style scoped>.pagination-container {  background: #fff;  padding: 32px 16px;}.pagination-container.hidden {  display: none;}</style>

     3、注册本地组件,并且因为在添加<template>标签的时候,绑定的有属性和方法,所以要对属性进行声明,以及方法的实现

    export default {    components: { Pagination },    data() {      return {        list: [{            //查询出来的商品集合        }],        total: 0,        listQuery: {          page: 1,          limit: 20        }      }    },  methods: {        getList() {      // 获取数据    }  }}

    实现  getList() 方法,发送axiOS请求获取后端传递的数据,分别将返回的总条数和数据信息分贝赋给本地的total、list集合

      getList() {        // 获取数据        var vm = this;        this.axios({          method: 'get',          url: 'Http://localhost:8080/SSM-template/products/PageInfo?pageNum='+vm.listQuery.page+'&pageSize='+vm.listQuery.limit        })          .then(function (response) {            vm.total = response.data.total;            vm.list = response.data.list;          })      },

    使用 created()方法,让页面加载时候调用  getList()方法,实现分页即可 :

    created() { this.getList() },

    效果图如下:

    js怎么使用Pagination+PageHelper实现分页

     四、分页中的细节:

    分页中可以在进行更为详细的设置,比如背景色、当前页、总页数、去往第几页等等都可以在pagination的index.vue中进行设置

    <template>  <div :class="{'hidden':hidden}" class="pagination-container">    <el-pagination      :background="background"//背景色  true 为有背景色,false为无背景色      :current-page.sync="currentPage"   //当前页      :page-size.sync="pageSize" //页面的大小      :layout="layout"         :page-sizes="pageSizes"      :total="total" //总页数      v-bind="$attrs"      @size-change="handleSizeChange"      @current-change="handleCurrentChange"    />  </div></template> <script>import { scrollTo } from '@/utils/scroll-to' export default {  name: 'Pagination',  props: {    total: {      required: true,      type: Number    },    page: {      type: Number,      default: 1    },    limit: {      type: Number,      default: 20    },    pageSizes: {      type: Array,      default() {        return [10, 20, 30, 50]      }    },    layout: {      type: String,      default: 'total, sizes, prev, pager, next, jumper'    },    background: {      type: Boolean,      default: true    },    autoScroll: {      type: Boolean,      default: true    },    hidden: {      type: Boolean,      default: false    }  },  computed: {    currentPage: {      get() {        return this.page      },      set(val) {        this.$emit('update:page', val)      }    },    pageSize: {      get() {        return this.limit      },      set(val) {        this.$emit('update:limit', val)      }    }  },  methods: {    handleSizeChange(val) {      this.$emit('pagination', { page: this.currentPage, limit: val })      if (this.autoScroll) {        scrollTo(0, 800)      }    },    handleCurrentChange(val) {      this.$emit('pagination', { page: val, limit: this.pageSize })      if (this.autoScroll) {        scrollTo(0, 800)      }    }  }}</script> <style scoped>.pagination-container {  background: #fff;  padding: 32px 16px;}.pagination-container.hidden {  display: none;}</style>

    关于“js怎么使用Pagination+PageHelper实现分页”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注编程网精选频道,小编每天都会为大家更新不同的知识点。

    --结束END--

    本文标题: js怎么使用Pagination+PageHelper实现分页

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

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

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

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

    下载Word文档
    猜你喜欢
    • js怎么使用Pagination+PageHelper实现分页
      这篇文章主要介绍“js怎么使用Pagination+PageHelper实现分页”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“js怎么使用Pagination+PageHelper实现分页”文章能帮...
      99+
      2023-07-02
    • js如何使用Pagination+PageHelper实现分页
      目录一、分页的原理:1.1 分页的原理1.2 真假分页二、后端-PageHelper的使用:三、前端-Pagination的使用:  四、分页中的细节:一、分页的...
      99+
      2024-04-02
    • 使用PageHelper插件实现Service层分页
      本文实例为大家分享了使用PageHelper插件实现Service层分页的具体代码,供大家参考,具体内容如下 使用场景: 平时分页我们可以直接使用mybatis-plus中内置的IP...
      99+
      2024-04-02
    • MyBatis如何使用PageHelper实现分页查询
      目录使用PageHelper实现分页查询1、创建数据表2、创建项目2.1 创建实体类(Entity层)2.2 数据库映射层(Mapper层)3、运行测试MyBatis PageHel...
      99+
      2024-04-02
    • java分页插件pagehelper怎么使用
      Java分页插件PageHelper可以很方便地实现分页功能。下面是使用PageHelper的步骤:1. 导入PageHelper依...
      99+
      2023-08-15
      java pagehelper
    • JS分页怎么实现
      实现JS分页可以通过以下步骤:1. 获取数据:从服务器或本地获取数据,并将数据存储在一个数组或对象中。2. 设置每页显示的数量和当前...
      99+
      2023-08-09
      JS
    • SpringBoot+Mybatis分页插件PageHelper实现分页效果
      目录一、项目结构二、插件引入三、代码四、测试:        最近刚入职新公司,项目是从零开始搭建的项目。我觉得是时候考验是驴还是千里马的时候...
      99+
      2024-04-02
    • Mybatis利用分页插件PageHelper快速实现分页查询
      目录前言 首先创建一个Maven项目 数据库中创建一张表设置Mybatis配置文件 编写pojo实体类和mapper接口和mapper映射文件创建测试类总结前言 Mybatis算是...
      99+
      2024-04-02
    • java后端pageHelper分页实现方法
      文章目录 背景方法一:mysql的limit进行分页方法二:使用插件Mybatis-PageHelper(拦截器原理)1、本质2.实现步骤引入依赖修改application.yml修改代码 总结 背景 当一次查库数据...
      99+
      2023-08-16
      java mybatis mysql
    • js怎么实现ajax分页
      这篇文章给大家分享的是有关js怎么实现ajax分页的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。什么是ajaxajax是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术,可以通过在后台与服务器进行少量数...
      99+
      2023-06-08
    • EasyUI Pagination如何实现分页功能getPager
      目录EasyUI Pagination实现分页功能getPagereasyui控件,如何使用分页功能总结EasyUI Pagination实现分页功能getPager 查看了一边Ea...
      99+
      2023-05-17
      EasyUI Pagination Pagination分页功能getPager EasyUI Pagination分页
    • Mybatis分页查询的实现(Rowbounds和PageHelper)
      我们实现查询除了 @org.junit.Test public void test02(){ SqlSession session = MybatisUtil...
      99+
      2024-04-02
    • MyBatis分页插件PageHelper如何使用
      本篇内容介绍了“MyBatis分页插件PageHelper如何使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!MyBatis使⽤PageH...
      99+
      2023-07-05
    • jQuery中Pagination分页插件有什么用
      小编给大家分享一下jQuery中Pagination分页插件有什么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!插件简介此j...
      99+
      2024-04-02
    • mybatis分页插件pageHelper的使用示例
      小编给大家分享一下mybatis分页插件pageHelper的使用示例,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!工作的框架spring springmvc mybatis3首先使用分页...
      99+
      2024-04-02
    • Mybatis第三方PageHelper分页插件怎么用
      这篇文章将为大家详细讲解有关Mybatis第三方PageHelper分页插件怎么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。用法此时commentAnalyses为Page对象(PageHelper插...
      99+
      2023-06-29
    • Vue2.0+ElementUI+PageHelper实现的表格分页功能
      前言 最近做了一些前端的项目,要对表格进行一些分页显示。表格分页的方法有很多,从宏观上来说分为物理分页和逻辑分页,由于逻辑分页(即前端分页)的做法是将数据全部缓存,然后分页显示,这样...
      99+
      2024-04-02
    • Bootstrap5如何使用分页导航Pagination组件
      这篇文章主要介绍“Bootstrap5如何使用分页导航Pagination组件”,在日常操作中,相信很多人在Bootstrap5如何使用分页导航Pagination组件问题上存在疑惑,小编查阅了各式资料,整...
      99+
      2024-04-02
    • angularjs结合pagination插件实现分页功能的示例分析
      小编给大家分享一下angularjs结合pagination插件实现分页功能的示例分析,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!angularjs与pagination插件可以完美实现...
      99+
      2024-04-02
    • MyBatis分页插件PageHelper的使用与原理
      目录MyBatis使⽤PageHelper1.limit分⻚2.PageHelper插件MyBatis使⽤PageHelper 1.limit分⻚ (1)概念: ①页码:pageNu...
      99+
      2023-02-24
      MyBatis分页插件PageHelper MyBatis分页插件 MyBatis PageHelper
    软考高级职称资格查询
    编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
    • 官方手机版

    • 微信公众号

    • 商务合作