• 罗成兵's avatar
    1 · 6d01face
    罗成兵 authored
    6d01face
myPagination.vue 1.5 KB
<template>
    <a-pagination
            :total="paginations.total"
            show-size-changer
            show-quick-jumper
            v-model="paginations.pageIndex"
            :page-size="paginations.pageSize"
            :page-size-options="paginations.pageSizeOptions"
            @showSizeChange="showSizeChange"
            @change="pageChange"
            :showTotal="() => `共 ${paginations.total} 条`"
    />
</template>

<script>
    /**
     * 分页组件
     */
    export default {
        name: "myPagination",
        props: ["pagination"],
        data() {
            return {
                paginations: {
                    pageIndex: 1,
                    pageSize: 10,
                    total: 0,
                    pageSizeOptions: ['10', '20', '30', '40', '50'],
                },
            }
        },
        mounted() {
            this.paginations = this.pagination;
        },
        methods: {
            // 分页
            showSizeChange(pageNum, pageSize) {
                this.paginations.pageIndex = 1;
                this.paginations.pageSize = pageSize;
                this.$emit('input', this.paginations);
                this.$emit('getList');
            },
            pageChange(pageNum, pageSize) {
                this.paginations.pageIndex = pageNum;
                this.paginations.pageSize = pageSize;
                this.$emit('input', this.paginations);
                this.$emit('getList');
            },
        }
    }
</script>

<style scoped>

</style>