```javascript
await getList()
// 此时的total应该不为0
this.currentPage = 要设置的页码
```
以下两种方式也可以解决,但原理都是要total的值更新后不为0的情况下才能解决。
2、pagination组件加上key(时间戳),每次都重新渲染
3、pagination组件上设置v-if,设置页码后控制v-if重新渲染(要使用nextTick)
```javascript
watch: {
currentPage: {
immediate: true,
handler(val) {
// 这里的internalCurrentPage 是用作pager组件上的渲染,也就是渲染当前页
this.internalCurrentPage = this.getValidCurrentPage(val);
}
}
}
render(h) {
...
getValidCurrentPage(value) {
value = parseInt(value, 10);
// internalPageCount 解释一下这个参数可以理解为 total / pagesize
const havePageCount = typeof this.internalPageCount === 'number';
let resetValue;
if (!havePageCount) {
if (isNaN(value) || value < 1) resetValue = 1;
} else {
if (value < 1) {
resetValue = 1;
} else if (value > this.internalPageCount) {
resetValue = this.internalPageCount;
}
}
if (resetValue === undefined && isNaN(value)) {
resetValue = 1;
} else if (resetValue === 0) {
resetValue = 1;
}
return resetValue === undefined ? value : resetValue;
},
```
所以,当total为0的情况下,设置current-page是不会生效的,始终为1。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)