Vue+element实现分页查询

1 使用环境

  • Vue
  • Element 新版

用element的组件el-pagination来实现表格分页操作

2 代码

el-pagination属性

  <el-pagination
      v-model:current-page="page.index"
      :page-size="page.size"
      layout="total,prev, pager, next"
      :total="page.total"
      @current-change="handleCurrentChange">
  </el-pagination>

page属性

page:{
        //当前页码
        index:1,
        //每页展示数据数目
        size:2,
        // 总共数据数目
        total:10
      },

页码改变值函数

 // 监听页码值改变事件
    handleCurrentChange(currentPage){
      // 改变当前页码
      console.log(currentPage)
      this.page.index = currentPage;
      console.log(this.page.index)
      // 重新获取数据
      this.getTableData()
    },

3 实现效果

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MRClEtfd-1635166442924)(C:\Users\HSLM\AppData\Roaming\Typora\typora-user-images\image-20211025203642572.png)]

4 踩坑

elpagination中的total属性没明白,将total设为2,我认识每页展示的数据直接由展示的表格决定,就没有设置page-size,无法点击页码的左右箭头。但是加上之后,就能点击。

因为页码的计算是由total总数来除每页显示的数据量得到的,所以page-size,total都需要进行绑定

element官网介绍

5 代码

<template>
	<el-pagination
      v-model:current-page="page.index"
      :page-size="2"
      layout="total,prev, pager, next"
      :total="3"
      @current-change="handleCurrentChange">
  	</el-pagination>
</template>

<script>
import {defineComponent, reactive,ref} from "vue";
export default defineComponent({
    methods: {
        // 监听页码值改变事件
        handleCurrentChange(currentPage){
          // 改变当前页码
          console.log(currentPage)
          this.page.index = currentPage;
          console.log(this.page.index)
          // 重新获取数据
         this.getTableData()
        },
    },
    data() {
        return {
          //页码
          page:{
            //当前页码
            index:1,
            //每页展示数据
            size:2,
            // 总页数
            total:10
          },
        }
    }
})
    
</script>
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 这个问题可能是一个编码问题,但是我理解为:如何基于Spring Boot实现Vue+SSM的分页。 实现Vue+SSM的分页,可以按照以下步骤进行: 1. 配置MyBatis和PageHelper,用于MySQL数据库的分页查询; 2. 在Controller中编写接口,用于处理Vue前端请求的数据,并调用Service中的方法实现分页查询; 3. 在Vue前端中,使用Element UI的组件实现分页效果,并绑定相关事件,用于向后端发送分页请求,获取数据并渲染页面; 4. 在Vue前端中,使用Axios库实现向后端发送请求; 5. 在Vue前端中,使用Vue Router实现页面的前端路由跳转。 以上是基于Spring Boot实现Vue+SSM的分页的一个简单实现思路,具体的实现细节需要根据具体的项目需求进行进一步的开发和调试。 ### 回答2: Spring Boot是一种基于Java的开发框架,它可以很方便地构建独立的、生产级别的应用程序。而Vue.js是一个用于构建Web界面的渐进式JavaScript框架,可用于构建单页应用程序(SPA)和移动应用程序。SSM框架由Spring、SpringMVC和MyBatis组成,可以用于开发Java Web应用程序。整合这些技术,可以实现一个分页的Web应用程序。 首先,在Spring Boot项目中,我们可以使用Spring Boot的starter来自动配置SpringMVC和MyBatis,使得开发过程更加简单。使用Vue.js可以实现前端页面的交互,通过Vue.js的组件化开发方式,可以将页面拆分为多个组件,提高代码的可读性和维护性。 在后端,我们可以使用SSM框架来实现数据的持久化、业务逻辑的处理和API的提供。使用MyBatis可以方便地进行数据库的访问,而Spring框架可以提供全面的依赖注入和AOP特性。SpringMVC可以帮助我们处理API请求,将数据传递给前端页面。 在分页方面,我们可以通过MyBatis提供的分页插件来实现分页功能。在API接口中,我们可以通过接收前端传递的页码和每页数据条数,使用MyBatis进行分页查询,将结果返回给Vue.js。在前端页面中,通过Vue.js进行分页组件的渲染和交互。 总之,Spring Boot项目基于Vue.js和SSM框架的分页实现可以提供一个良好的用户体验和高效的数据处理能力。此外,由于这些技术的流行性和稳定性,开发成本也比较低。 ### 回答3: SpringBoot项目基于Vue和SSM框架实现分页功能需要以下几个步骤: 1. 添加Vue.js和axios库到前端项目中,用于向后端请求数据和进行分页操作。 2. 在后端SSM项目中,设计一个接口用于处理分页请求,该接口应该包含当前页码、每页显示的记录数等参数,返回查询结果和总记录数。 3. 在后端Controller中实现该接口,并调用Service层中的查询方法获取分页数据,将结果封装成一个PageInfo对象,该对象包含当前页码、每页显示的记录数、总页数和查询结果。 4. 在前端Vue实例中,定义一个data对象用于存放分页相关数据,包括当前页码、每页显示的记录数、总页数和查询结果。 5. 在前端Vue实例中,定义一个方法用于向后端Controller发送分页请求,并将返回的分页结果保存到data对象中。 6. 在前端Vue模板中,使用v-for指令将分页结果渲染到页面上,并使用v-pagination组件实现分页导航。 7. 在前端Vue实例中,实现用户与分页导航的交互操作,例如点击页码、改变每页显示的记录数等操作。 通过以上步骤,就可以基于Vue和SSM框架实现一个高效的分页功能。使用Vue作为前端展示的框架,相比传统的JSP或Thymeleaf等技术,可以更加灵活和高效地处理页面渲染和交互操作;而SSM框架则提供了一个可靠的后端架构,可以保证数据的完整性和安全性。综合起来,基于Vue和SSM实现分页功能,不仅可以提高开发效率和用户体验,还可以提高系统的稳定性和可维护性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值