# ytPagination基于el-pagination分页切换的组件
# 使用场景
数据量大时,使用分页切换数据
# 实例属性
属性名 | 默认值 | 类型 | 描述 | 是否必填 |
---|---|---|---|---|
total | 0 | Number | 总条目数 | |
page | 1 | Number | 当前页码 | |
limit | 20 | Number | 每页显示的最大数量 | |
pageSizes | [10, 20, 30, 50] | Array | 每页显示个数选择器的选项设置 | |
pageCount | 7 | Number | 页码按钮的数量,当总页数超过该值时会折叠(大于等于 5 且小于等于 21 的奇数) | |
layout | "total, sizes, prev, pager, next, jumper" | String | 组件布局,子组件名用逗号分隔 (sizes, prev, pager, next, jumper, ->, total, slot) | |
background | true | Boolean | 是否为分页按钮添加背景色 | |
paginationColor | {"--activeBgColor": "pink", // 选中的背景色" --fontColor": "#fff", // 选中的字体颜色"--hoverColor": "#ff0000", // 鼠标悬停的字体颜色} | Object | 分页按钮的样式 |
# 事件
事件名 | 参数 | 描述 |
---|---|---|
pagination | 获取分页变换后的值 |
# 简单使用
<!--
* @Description: ytPagination分页组件的使用 页面
* @Author: mhf
* @Date: 2023/11/26 16:09
-->
<template>
<div class="ytPagination">
<ytPagination
:background="false"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
:page-sizes="pageSizes"
:pagination-color="paginationColor"
@pagination="getTableData"
/>
</div>
</template>
<script>
export default {
name: "useYtPagination",
components: {},
props: {},
computed: {},
watch: {},
filters: {},
data() {
return {
total: 120,
pageSizes: [5, 10, 15, 20],
queryParams: {
pageNum: 1,
pageSize: 10,
},
paginationColor: {
"--activeBgColor": "transparent",
"--fontColor": "orange",
"--hoverColor": "green",
},
};
},
methods: {
getTableData() {
console.log(this.queryParams);
},
},
created() {
},
mounted() {
},
destroyed() {
},
};
</script>
<style lang="scss" scoped>
.ytPagination {
}
</style>