vue 如何封装分页组件以及如何调用,持续更新前端分页

本文介绍了如何在前端使用组件实现与后端通信的分页功能,包括设置当前页数、每页大小,以及处理页面跳转事件。通过`el-pagination`组件封装,展示了如何在调用组件时传递参数并接收后端返回的数据。
摘要由CSDN通过智能技术生成
#重点:此次为后端分页的前端代码,可在调用的组件中添加所用到的接口,持续更新前端分页

#穿后端的包括当前页数以及每页多少,后端返的赋值的是总页数

1.首先组件封装,做部分修改

有总页数,前后页面,以及页面的跳转

<template>

  <div class="wrapper">

    <div class="block">

      <span class="demonstration">全</span>

      <el-pagination

        @size-change="handleSizeChange"

        @current-change="handleCurrentChange"

        @prev-click="prevClick"

        @next-click="nextClick"

        :current-page.sync="currentPage4"

        :page-sizes="pageSizes"

        :page-size="pageSize"

        layout="total, sizes, prev, pager, next, jumper"

        :total="400"

      >

      </el-pagination>

    </div>

  </div>

</template>

<script>

export default {

  props: {

    pageSizes: {

      type: Array,

      default: () => [10, 100, 200, 300, 400],

    },

    pageSize: {

      default: 10,

      type: Number,

    },

  },

  data() {

    return {

      currentPage1: 5,

      currentPage2: 5,

      currentPage3: 5,

      currentPage4: 4,

    };

  },

  created() {},

  methods: {

    handleSizeChange(val) {

      console.log(`每页 ${val} 条`);

      this.currentPage4 = 1;

      this.$emit("pageSizeChanged", val);

    },

    handleCurrentChange(val) {

      console.log(`当前页: ${val}`);

      this.$emit("currentChanged", this.currentPage4);

    },

    prevClick() {},

    nextClick() {},

  },

};

</script>

<style lang="scss" scoped></style>

2.开始调用

<template>

  <div>

    <Pagination

      @currentChanged="currentChanged"

      @pageSizeChanged="pageSizeChanged"

      ></Pagination>

  </div>

</template>

<script>

import Pagination from "./components/Pagination.vue";

export default {

  components: {

    Pagination,

  },

  data() {

    return {

      currentPage1: 5,

      currentPage2: 5,

      currentPage3: 5,

      currentPage4: 4,

    };

  },

  created() {},

  methods: {

    // handleSizeChange(val) {

    //     console.log(`每页 ${val} 条`);

    //   },

    //   handleCurrentChange(val) {

    //     console.log(`当前页: ${val}`);

    //   },

    pageSizeChanged(vale) {

      this.currentPage4 = 1;

      console.log("pageSize", vale);

    },

    currentChanged(value) {

      this.currentPage4 = value;

      console.log("currentChanged", value);

    },

  },

};

</script>

<style lang="scss" scoped></style>

  • 17
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值