element el-pagination current-page 赋值无效分析 b29ca519122a4ea394e83f504b912640

element el-pagination current-page 赋值无效分析 b29ca519122a4ea394e83f504b912640
John Doeelement el-pagination current-page 赋值无效分析
element
el-pagination current-page 赋值无效分析
先看组件 高亮的页面是 1 ,但是应该是高亮的 2.
ElPager
1 | <li |
发现由 currentPage(props) 控制高亮。由于是 props 。 往上找组件
ElPagination
1 | <pager |
发现 ElPager 的currentPage 依赖 ElPagination 的internalCurrentPage。
继续查找internalCurrentPage 在 watch
里面对internalCurrentPage
进行了赋值。这里也有一个currentPage(props)
1 | watch: { |
继续看一下如何计算internalCurrentPage的
1 | getValidCurrentPage(value) { |
计算的时候依赖了internalPageCount。在某些情况下会将当前页设置为1。
答案就出来了。 因为ElPagination 的数据是通过接口请求的。 在接口请求前将
分页组件的 currentPage 设置了2。 但是数据总数这个时候是0。所以 element
就将internalPageCount
设置为1了。接口请求完成后虽然有了总数。 但是由于 ElPagination 的
currentPage(props)没有变,所以就不会触发internalPageCount的更新。






