【发布时间】:2021-01-23 10:15:30
【问题描述】:
我有一个分页组件,它接收totalPages 和currentPage 道具,然后呈现更改currentPage 的按钮。问题是现在如果我有很多产品,我会渲染太多按钮,我想将按钮的数量限制为 5 个 - 前两页、当前页和后两页。
所以如果我的当前页面是4,我会看到页面2, 3, 4, 5, 6 的按钮,并且当前页面始终是中间按钮(除非这是不可能的)。我不太确定如何处理这个问题,尤其是当currentPage 是第一个/第二个或倒数第二个/最后一个时的极端情况。
<template lang="html">
<div class="pagination">
<div v-for="page in totalPages">
<div class="page" :class="{ active: page == currentPage}" @click="setCurrentPage(page)">{{ page }}</div>
</div>
</div>
</template>
<script>
export default {
props: ["totalPages", "currentPage"],
methods: {
setCurrentPage(page){
this.$emit("setCurrentPage", page);
}
}
}
</script>
【问题讨论】:
标签: javascript vue.js vuejs2 pagination vue-component