问题场景:在进行如图的列表项批量提交和单个提交的时候,如果刚好是在“最后1页”提交,那么需要考虑,page要跳到前1页。
if (
this.currentPage != 1 &&
this.currentPage == Math.ceil(this.total / this.pageSize) &&
(this.payrollUnSubmit.length == 1 ||
this.payrollUnSubmit.length == this.selectionGroup.length)
) {
this.currentPage--;
}
this.getTable();
整体逻辑:判断当前页是不是最后1页,且不是第1页-》判断是不是把最后1页的所有项目都给删除和操作了。
判断逻辑:1.首先判断当前页是不是第1页,如果是第1页,不用管。
2.然后判断当前页是不是在最后1页,如果不是,不用管,因为只有最后1页需要判断。
3.在最后1页进行"提交"或者“删除”动作之后,判断是不是把本页的都给删除了。
(1)this.payrollUnSubmit.length == 1,如果是单个“删除”,判断删除的是不是最后1个。
(2) this.payrollUnSubmit.length == this.selectionGroup.length,如果是批量删除,判断“批量选中”的是不是本页的所有项目。
注:1.一定要按照上面的语句顺序来写和判断:(1)和(2)不能颠倒,因为有时候,在全选之后,又可能进行的是“单个删除。
2.payrollUnSubmit:这里表示的是本页可以被全选或者进行“删除”操作的选项。【有些项会被禁选或者禁止操作】