elementUi之分页组件的简单封装

因elementUi分页封装成单独组件当前页存在bug,没有在父组件设置当前页。 如有需要可在分页组件单独设置

在使用页面(父页面)

<!-- 向子组件传total值(总数),接收子组件sizeChange事件(每页显示条数),接收子组件currentChange事件(当前页) -->

    <paging 
      :total="querycdt.total" 
      @sizeChange="handleSizeChange"
      @currentChange="handleCurrentChange">
    </paging>
    components:{
      paging : require('@/components/common/paging.vue').default,  // 引入分页组件
    }
  // 每页显示多少条
  handleSizeChange(val){
    this.querycdt.pageLength = val // 每页多少条
    this.getUserList()  // 刷新
  },
  // 当前页
  handleCurrentChange(val) {
    this.querycdt.pagenum = val // 当前页
    this.getUserList()  // 刷新
  }

paging 组件页面

<template>
  <div>
    <el-pagination
      @size-change='handleSizeChange'
      @current-change="handleCurrentChange"
      :page-sizes="[10,20,30]"
      :page-size="10"
      layout="total, prev, pager, next, jumper"
      :total="querycdt.total">
    </el-pagination>
  </div>
</template>

<script>
export default {
  props: ['total'],
  methods:{
    handleSizeChange(val){
      // console.log(`每页${val}条`)
      // 向父组件传递sizeChange事件,传入val值
      this.$emit('sizeChange',val)
      
    },
    handleCurrentChange(val){
      // console.log(`当前页:${val}`)
      this.$emit('currentChange',val)
    }
  }
}
</script>

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


删除页面最后一条数据时,currentPage没有减一,页面列表为空
思路:监听页面的总条数,并对总条数进行判断。
当页面总条数 = (当前页数-1)*当前页条数,currentPage减1,重新获取列表

props: ['querycdt'],   // 直接接收父组件传过来的querycdt分页对象
// querycdt.totalNum 数据总条数   
// querycdt.currentPage 当前页    
// querycdt.pageSize 每页显示的数据条数  

watch: {
  'querycdt.currentPage':{ //监听props传过来的querycdt对象的currentPage(当前页)
    handler(){ // 随便写在一个函数内
      if(this.querycdt.totalNum==(this.querycdt.currentPage-1)*this.querycdt.pageSize&& this.querycdt.totalNum!=0){ //这一行是关键代码,倍数关系
        this.querycdt.currentPage -= 1
        this.geiList()//获取表格数据的方法
      }
    }
  }
},

额外说一点,数据的每个序号,一般用
item.index= this.querycdt.pageSize * (this.querycdt.currentPage - 1) + (index + 1);

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 本文已授权 微信公众号 玉刚说 (@任玉刚)独家发布。 前言 我是一个崇尚 开源 的Android开发者,在过去的...
    却把清梅嗅阅读 16,832评论 24 111
  • 现在天气转暖,每天早晨由我骑电动车送艾哲去上学,今天去学校的路上,艾哲给我唱了两首歌《春晓》和《学习雷锋好榜样》,...
    艾哲麻麻阅读 1,150评论 0 0
  • 我们这个城市里很少有雾,偶尔有一次雾,特别是浓雾,人们并不觉得出行不便,反而觉得欣喜。秋天时偶尔有晨雾。我...
    佳砚寻阅读 3,707评论 1 1
  • 这些天无意中,都不记得是在哪里,看到有人议论周华健的江湖,始以为是周华健的江湖笑呢,后来才发现那是一部专辑。 专辑...
    观云听风阅读 4,966评论 0 0
  • 2006年武夷岩茶国家标准:武夷岩茶是指在武夷山市范围内,独特的武夷山自然生态环境条件下选用适宜的茶树品种进行繁育...
    f6afe8fe24a5阅读 3,244评论 0 0