vue项目 使用elementui中的el-pagination封装公用分页组件

组件页面:pageNation.vue

<template>
  <div class="pagenation">
    <el-pagination small  class="text-center"  @size-change="handleSizeChange" @current-change="handleCurrentChange":current-page=":current-page="page_index"" :page-sizes="pageSizes" :page-size="page.limit"
    layout="total, sizes, prev, pager, next, jumper" :total="total">
    </el-pagination>
   </div>
</template>

<script>
export default {
  props: {
    total: {
      type: Number
    }, // 总条数
    page_index: {
				type: Number
			},
  },
  data() {
    return {
      pageSizes: [10, 20, 50, 100],
      page: {
        page_index: 1,
        page_limit: 10
      }
    };
  },
  methods: {
    // // 每页查看条数变化
    handleSizeChange(val) {
      this.page.page_limit= val;
      this.$emit('pageChange', this.page);
    },
    // 当前页码变化
    handleCurrentChange(val) {
      this.page.page_index= val;
      this.$emit('pageChange', this.page);
    }
  },

}
</script>

<style scoped>
  .pagenation{
    margin: 20px 0;
  }
</style>

使用分页组件

<template>
	<page-nation :total="page_total" @pageChange="pageChange"  :page_index="page_index"></page-nation>
</template>
import pageNation from '@/components/common/pageNation'     // 引入
export default{
  data () {
	    return {
	   	  page_index: 1, // 页数
	      page_total: 1, // 总页数
	      page_size: 10,
	    }
  },
   components: {
    pageNation
  },
  methods: {
	 pageChange (item) {
	      console.log(item)
	      this.page_index = item.page_index;
	      this.page_size = item.page_limit;
	      this.initData() //改变页码,重新渲染页面
    },
}
 }

Tips:【小程序云开发】中高级前端面试题库(源码:小程序中联系我哟)。
---------- 创作不易,感谢大家,请多多支持!
在这里插入图片描述

  • 5
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

卜卦丶cc

你的鼓励是我创作最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值