current-page/currentPage Element-Plus 中的 el-pagination 属性不起作用(?)

current-page/currentPage attribute from el-pagination in Element-Plus is not working(?)

情况

根据 element-plus.org 的文档:https://element-plus.org/#/en-US/component/pagination 您应该能够为分页组件设置当前页面。

我的 page/component 可以正常工作,除非我使用新的页面加载进入页面 我希望组件接管转换为反应变量“currentPage”的参数“page”并将其用于将当前页面设置为组件中的高亮。

问题

然而,即使该属性被设置为 3,该组件仍然显示第 1 页。currentPage 是完全反应式的,并且在其上方的 mustache 中解析时显示。

文档不一致?

我尝试了不同的东西,但他们自己的文档也不一致,或者我很笨。

在“更多元素”示例中显示 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;
    };

有人知道我做错了什么吗? element-plus不测试他们的东西还是我在这里无知?什么是最好的解决方案?

问题已解决。一位同事指出该值并不是真正的整数。 如果您像我一样从 url 中获取值,请使用 parseInt()。就我而言:

currentPage.value = parseInt(router.currentRoute.value.params.page) || 1;