<div :style="pageColor"></div>
computed: {
pageColor() {
return {
'--activeBgColor': 'pink',
'--fontColor': '#fff',
'--hoverColor': '#ff0000',
};
},
<style lang="scss" scoped>
::v-deep .active {
background-color: var(--activeBgColor) !important;
color: var(--fontColor) !important;
}
::v-deep .el-pager li:hover {
color: var(--hoverColor) !important;
}
</style>
// 完整代码 demo
<!--
* @Description: 表格分页组件 页面
* @Author: mhf
* @Date: 2023/11/26 16:07
-->
<template>
<el-pagination
:style="pageColor"
v-bind="$attrs"
:background="background"
:current-page.sync="currentPage"
:page-size.sync="pageSize"
:layout="layout"
:page-sizes="pageSizes"
:pager-count="pagerCount"
:total="total"
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
/>
</template>
<script>
export default {
name: "ytPagination",
props: {
total: {
type: Number,
default: 0,
}, // 总条目数
page: {
type: Number,
default: 1,
},
limit: {
type: Number,
default: 20,
},
pageSizes: {
type: Array,
default() {
return [10, 20, 30, 50];
},
}, // 每页显示个数选择器的选项设置
pagerCount: {
type: Number,
default: document.body.clientWidth < 992 ? 5 : 7,
}, // 页码按钮的数量,当总页数超过该值时会折叠(大于等于 5 且小于等于 21 的奇数)
layout: {
type: String,
default: "total, sizes, prev, pager, next, jumper",
}, // 组件布局,子组件名用逗号分隔 (sizes, prev, pager, next, jumper, ->, total, slot)
background: {
type: Boolean,
default: true,
}, // 是否为分页按钮添加背景色
},
data() {
return {};
},
computed: {
pageColor() {
return {
'--activeBgColor': 'pink',
'--fontColor': '#fff',
'--hoverColor': '#ff0000',
};
},
currentPage: {
get() {
return this.page;
},
set(val) {
this.$emit("update:page", val);
},
},
pageSize: {
get() {
return this.limit;
},
set(val) {
this.$emit("update:limit", val);
},
},
},
methods: {
handleSizeChange(val) {
if (this.currentPage * val > this.total) {
this.currentPage = 1;
}
this.$emit("pagination", {page: this.currentPage, limit: val});
},
handleCurrentChange(val) {
this.$emit("pagination", {page: val, limit: this.pageSize});
},
},
};
</script>
<style lang="scss" scoped>
::v-deep .active {
background-color: var(--activeBgColor) !important;
color: var(--fontColor) !important;
}
::v-deep .el-pager li:hover {
color: var(--hoverColor) !important;
}
</style>
原文地址:https://blog.csdn.net/m0_74149462/article/details/134630840
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_18843.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。