element 封装公共分页(el-pagination)

效果:

在表格中常见每个表格都要用到分页,为了提高代码的复用性,封装共同分页。

1、公共pagina页面

<template>
  <el-pagination layout="total, sizes, prev, pager, next, jumper" background :page-sizes="[10, 20, 50, 100]" :page-size="pagesize" :total="total"
    @size-change="handleSizeChange" @current-change="handlePageChange" :current-page="currpage">

  </el-pagination>
</template>

<script>
  export default {
    data(){
      return {
        
      }
    },
    props:["total","currpage","pagesize"], //传入的值
    methods:{
      handleSizeChange(val){           //子传父或者父传子
        this.$emit("sizechange",val)
      },
      handlePageChange(val){
        this.$emit("pagechange",val)
      }
    }
  }
</script>

<style>
</style>

2、应用的页面

//使用
<Pagina :currpage="page" :total="total" :pagesize="size" @sizechange="handleSizeChange" @pagechange="handlePageChange"></Pagina>


//引入
import Pagina from '@/components/common/pagina'
//注册
components: {
    Pagina
},


//数据
export default {
  data() {
    return {
        page: 1,
        size: 10,
        total: 0,
    }
}


//方法
methods: {
  // 分页
  handleSizeChange(val) {
    //this.page = 1;  切换一页几条时页数返回第一页
    this.size = val;
    this.getInfoChange();
  },
  handlePageChange(val) {
    this.page = 1;  切换一页几条时页数在当前页
    this.page = val;
    this.getInfoChange();
  },
  // 获取个人基础信息修改记录
  getInfoChange() {
     this.$axios({
        url: "XXX",
        method: "post",
        data: {
            page:this.page,
            size:this.size
        },
      }).then((res) => {
        this.InfoData = res.data.data.data;
        this.total = res.data.data.totalRecords;
      });
    },
}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值