Есть метод пагинации:
getPages() {
let elemsOnPage = 5;
if (elemsOnPage !== 0) {
let pagesArr = [];
let pageNum = Math.ceil(this.tableList.length / elemsOnPage);
for (let j = 0; j < pageNum; j++) {
this.pageNum.push(j);
}
for (let i = 0; i < pageNum; i++) {
pagesArr.push(this.tableList.slice(i * elemsOnPage, (i + 1) * elemsOnPage));
}
this.filteredPages = cloneDeep(pagesArr);
}
},
В таблице вывожу так:
<tr v-for="tableItem in filteredPages[activePage]" :key="tableItem.id"></tr>
Но есть и computed, который фильтрует:
filteredTableList() {
return this.tableList
.filter(el => {
if (!this.commitModelForSort) {
return true;
}
return el.commit === this.commitModelForSort;
})
.filter(el => {
if (!this.rotationModelForSort) {
return true;
}
return el.rotationName === this.rotationModelForSort;
})
.filter(el => {
if (!this.roleModelForSort) {
return true;
}
return el.role === this.roleModelForSort;
});
}
Как совместить пагинацию вместе с фильтрацией?