Situation
根据element-plus.org:https://element-plus.org/#/en-US/component/pagination的文档,您应该能够为分页组件设置当前页面。
我的页面/组件可以工作,除非我使用新的页面加载输入页面,我希望组件接管转换成反应性变量"currentPage“的param”页面“,并使用它将当前页面设置为组件中的突出显示。
问题
然而,即使属性被设置为3,组件仍然显示页面1。currentPage是完全反应的,当在它上面的小胡子中解析时会显示它。
docs?中的不一致
我尝试了不同的东西,但他们自己的文档也不一致,或者我很笨。
在“更多的元素”示例中,它显示了v-model:currentPage="currentPage1",但在“属性”部分中,它表示::current-page和:default-current-page。两者也不起作用。
我的代码模板
{{ currentPage }} <!-- this actually shows the page I am currently on from param -->
<el-pagination
@current-change="paginate"
:currentPage="currentPage"
:current-page="currentPage"
:default-current-page="currentPage"
:total="data.length"
:page-size="limit"
:pager-count="6"
layout="prev, pager, next"
>
</el-pagination> <!-- evil component only highlights (default) 1 -->setup()中的相关部分
const currentPage = ref();
watch(props, () => {
currentPage.value = router.currentRoute.value.params.page || 1;
initOutputVal();
});
// pagination
const paginate = (e) => {
router.push({ params: { page: e } });
};
const initOutputVal = () => {
let startSlice = (currentPage.value - 1) * props.limit;
output.value = props.limit ? props.data.slice(startSlice, startSlice + props.limit) : props.data;
};有人知道我是不是做错了什么吗?元素加不测试他们的东西还是我在这里无知?什么是最好的解决方案?
发布于 2021-09-07 08:25:41
问题解决了。一位同事指出,这个值实际上不是一个整数。如果您像我一样从url中获得一个值,请使用parseInt()。就我而言:
currentPage.value = parseInt(router.currentRoute.value.params.page) || 1;https://stackoverflow.com/questions/68956130
复制相似问题