美文网首页
el-pagination封装

el-pagination封装

作者: 海豚先生的博客 | 来源:发表于2020-12-31 11:29 被阅读0次

// 使用 xxx.vue

    <Pager
      :total="total"
      :pageNum.sync="pageNum"
      :pageSize.sync="pageSize"
      @getList="query"
    ></Pager>

pager.vue

<template>
  <div class="pager">
    <el-pagination
      @size-change="handleSizeChange"
      @current-change="handleCurrentChange"
      :current-page.sync="pageNum"
      :page-sizes="pageSizes"
      :page-size.sync="pageSize"
      layout="total,sizes, prev, pager, next, jumper"
      :total="total"
    >
    </el-pagination>
  </div>
</template>

<script>
export default {
  props: {
    total: {
      type: Number,
      default: 0
    },
    pageSizes: {
      type: Array,
      default() {
        return [10, 20, 30, 40];
      }
    },
  pageNum: {
      type: Number,
      default: 1
    },
    pageSize: {
      type: Number,
      default: 10
    }
  },
  data() {
    return {
      pageNum: 1,
      pageSize: 10
    };
  },
  methods: {
    handleSizeChange(pageSize) {
      this.$emit("update:pageSize", pageSize);
      this.getListData();
    },
    handleCurrentChange(pageNum) {
      this.$emit("update:pageNum", pageNum);
      this.getListData();
    },
    getListData() {
      this.$emit("getList");
    }
  }
};
</script>

<style>
.pager {
  padding: 12px 16px 12px;
}
</style>

相关文章

网友评论

      本文标题:el-pagination封装

      本文链接:https://www.haomeiwen.com/subject/eruloktx.html