<template>
    <div style="margin-top: 20px;">
        <el-pagination v-model:currentPage="pageData.page" v-model:page-size="pageData.limit"
            :page-sizes="[10, 15, 20]" :small="pageData.small" :disabled="pageData.disabled"
            :background="pageData.background" layout="->, total, sizes, prev, pager, next, jumper" :total="total"
            :hide-on-single-page="pageData.hide" @size-change="handleSizeChange"
            @current-change="handleCurrentChange" />
    </div>
</template>

<script setup lang='ts'>

let props = defineProps({
    pageData: {
        type: Object,
        default: {
            page: {
                type: Number,
                default: 1
            },
            limit: {
                type: Number,
                default: 10
            },
            small: {
                type: Boolean,
                default: false
            },
            disabled: {
                type: Boolean,
                default: false
            },
            background: {
                type: String || Boolean,
                default: '' || false
            },
            hide: {
                type: Boolean,
                default: false
            }
        }
    },
    total: {
        type: Number,
        default: 0
    }
})

let emits = defineEmits(['sizeChange', 'currentChange'])

// 新条数
const handleSizeChange = (val: number) => {
    emits('sizeChange', val)
}

// // 新页数
const handleCurrentChange = (val: number) => {
    emits('currentChange', val)
}
</script>
 
<style lang = "scss" scoped>
</style>