基于elementUI分页组件实现前端分页功能

本文介绍了如何利用ElementUI库中的分页组件在前端展示后端分页数据,包括组件使用、计算属性设置以及事件绑定,详细展示了前端分页逻辑的实现过程。
摘要由CSDN通过智能技术生成

基于elementUI分页组件实现前端分页功能

对于后端返回数据为进行分页的情况,前端可基于elementUI的分页组件实现分页效果。

第一步,使用前端分页组件

	<el-table
       :data="list"
       border
       @select="handleSelectionChange"
       @select-all="handleAllSelectionChange"
     >
        ...
	</el-table>

     <el-pagination
        background
        @size-change="handleSizeChange"
        @current-change="handleCurrentChange"
        :current-page="listQuery.page"
        :page-sizes="[10, 30, 50]"
         :page-size="listQuery.pageNum"
        layout="total, sizes, prev, pager, next, jumper"
        :total="totalNum"
      >
      </el-pagination>

第二步、使用computed计算属性得到分页参数

  computed: {
    // 使用前端实现分页的计算数据
    list() {
      // 分页的起始下标
      const startIndex = (this.listQuery.page - 1) * this.listQuery.pageNum;
      // 分页的末尾下标
      const endIndex = startIndex + this.listQuery.pageNum;
      // 返回切割后的数据
      return this.requestList.slice(startIndex, endIndex);
    },
    // 总条数
    totalNum() {
      return this.requestList.length;
    },
    // 总分页数
    total() {
      return Math.ceil(this.requestList.length / this.listQuery.pageNum);
    },
  },
  data(){
 	 return{
 	 	// 列表数据
     	 requestList: [],
     	 // 分页参数
    	  listQuery: {
      		  page: 1,
      	 	 pageNum: 10,
    	  },
	  }
  }

第三步、绑定事件

    // 每页列表数
    handleSizeChange(val) {
      this.listQuery.pageNum = val;
    },
    // 当前分页数(第几页)
    handleCurrentChange(val) {
      this.listQuery.page = val;
    },
  • 7
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vue前端分页功能可以通过Element UI来实现Element UI是一套基于Vue.js的桌面端组件库,提供了丰富的组件和工具,包括分页组件。 首先,在Vue项目中使用npm安装Element UI: npm install element-ui 然后,在项目的入口文件main.js中引入Element UI的样式和组件: import Vue from 'vue' import ElementUI from 'element-ui' import 'element-ui/lib/theme-chalk/index.css' Vue.use(ElementUI) 现在,你可以在需要分页组件中使用Element UI的分页组件了。以下是一个示例: <template> <div> <el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="currentPage" :page-sizes="[10, 20, 30, 40]" :page-size="pageSize" layout="sizes, prev, pager, next, jumper" :total="total"> </el-pagination> </div> </template> <script> export default { data() { return { currentPage: 1, // 当前页码 pageSize: 10, // 每页显示的条数 total: 100, // 总记录数 } }, methods: { handleSizeChange(val) { this.pageSize = val this.currentPage = 1 // 当改变每页显示的条数时,重置当前页码为1 // 并重新获取数据 this.getData() }, handleCurrentChange(val) { this.currentPage = val // 当改变当前页码时,重新获取数据 this.getData() }, getData() { // 根据当前页码和每页显示的条数,发送请求获取数据 }, }, } </script> 通过监听分页组件的size-change事件和current-change事件,我们可以获取到用户改变每页显示的条数和当前页码的操作。 当用户改变每页显示的条数时,我们可以将当前页码重置为1,并重新发送请求获取数据。 当用户改变当前页码时,我们重新发送请求获取数据。 在getData方法中,可以根据当前页码和每页显示的条数,发送请求获取相应的数据。最后,将获取到的数据渲染到页面中。 这样,通过使用Element UI的分页组件,我们就可以实现Vue前端分页功能了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值