分页封装及样式更改
<template>
<div class="pagination">
<el-pagination
small
layout="prev, pager, next"
:total="total"
:page-size="pageSize"
:current-page="currentPage"
:hide-on-single-page="false"
:background="true"
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
@prev-click="handleCurrentChange"
@next-click="handleCurrentChange">
</el-pagination>
</div>
</template>
<script>
export default {
name: 'TablePagination',
props: {
total: {
type: Number,
default: 0
},
pageSize: {
type: Number,
default: () => 8
}
},
watch: {
total: {
handler: function(newV, oldV) {
this.total = newV;
}
},
currentPage: {
handler: function(newV, oldV) {
this.currentPage = newV;
}
}
},
data() {
return {
currentPage: 1
};
},
methods: {
handleSizeChange() {
this.$emit('changeCurrent', this.pageSize);
},
handleCurrentChange(page) {
this.currentPage = page;
this.$emit('changeCurrent', this.currentPage);
}
}
}
</script>
<style lang="less" scoped>
/deep/.el-icon-arrow-left:before{
content: "上一页";
color: var(--btnPrevColor);
padding: 0 10px;
background: var(--dropdownBackgroundEd);
}
/deep/.el-icon-arrow-right:before{
content: "下一页";
color: var(--btnPrevColor);
padding: 0 10px;
background: var(--dropdownBackgroundEd);
}
/deep/.el-pagination.is-background .el-pager li:not(.disabled).active{
background: none;
color: var(--primaryColor);
}
/deep/.el-pagination.is-background .el-pager li{
background: none;
color: var(--tabColor);
}
/deep/.el-pagination.is-background .el-pager li:not(.disabled):hover{
color: var(--primaryColor);
}
/deep/.el-pagination.is-background .btn-prev{
background: var(--dropdownBackgroundEd);
}
/deep/.el-pagination.is-background .btn-next{
background: var(--dropdownBackgroundEd);
}
</style>