一个列表,ant翻页组件,又设计需求加上只有一页隐藏,比如10条每页,当11条数据时,删除第11条数据,会出现请求第二页,但是没有数据,又没有翻页组件。
如何封装或者最小程度改动处理这个问题
一个列表,ant翻页组件,又设计需求加上只有一页隐藏,比如10条每页,当11条数据时,删除第11条数据,会出现请求第二页,但是没有数据,又没有翻页组件。
如何封装或者最小程度改动处理这个问题
这个组件需要你提供总行数:total
啊,删除或插入成功之后改一下total就好了吧。只有一页隐藏本身也是属性,hideOnSinglePage=true
就行了。
<template>
<a-pagination :hideOnSinglePage="true" v-model:current="current" v-model:total="total" show-less-items />
<button @click="afterDelete">Delete</button>
<button @click="afterCreate">Create</button>
</template>
<script>
import { defineComponent, ref } from 'vue';
export default defineComponent({
setup() {
const perPage = 10;
const current = ref(2);
const total = ref(10);
return {
current,
total,
afterDelete() {
total.value = total.value - 1;
if (total.value % perPage === 0 && current.value >= Math.ceil(total.value / perPage)) {
current.value = Math.ceil(total.value / perPage));
// 重新读取当前页
}
},
afterCreate() {
total.value = total.value + 1;
}
};
},
});
</script>
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
2 回答4.7k 阅读✓ 已解决
4 回答4.3k 阅读✓ 已解决
可以在
只有一页隐藏
的基础上继续修改,改成只有一页且当前页在第一页隐藏