tablePagination.vue 1.11 KB
Newer Older
1 2 3 4 5 6 7 8 9
<template>
  <el-pagination
    :current-page="currentPage"
    :page-sizes="[10, 20, 50, 100]"
    :page-size="pageSize"
    layout="total, sizes, prev, pager, next, jumper"
    :total="newtotalSize"
    @size-change="handleSizeChange"
    @current-change="handleCurrentChange"
xiexingan's avatar
xiexingan committed
10
    style='margin-right:20px;'
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57
  >
  </el-pagination>
</template>

<script>
export default {
  data() {
    return {
      newtotalSize: this.totalSize,
      newpageSize: this.pageSize,
      currentPage: 1 // 当前页
    }
  },
  watch: {
    totalSize(n, o) {
      this.newtotalSize = n
    }
  },
  props: {
    // 每页展示多少条数据
    pageSize: {
      type: Number,
      default: 10
    },
    // 数据总条数
    totalSize: {
      type: Number,
      default: 0
    }
  },
  methods: {
    // pageSize 改变时会触发
    handleSizeChange(val) {
      this.newpageSize = val
      this.$emit('parentMethod', this.currentPage, val)
    },
    // currentPage 改变时会触发
    handleCurrentChange(val) {
      this.currentPage = val
      this.$emit('parentMethod', val, this.newpageSize)
    }
  }
}
</script>

<style>
</style>