qcp QCP pad
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

34 lines
809 B

import { reactive } from 'vue'
export function usePagination() {
const paginationRaw = {
pageNum: 1,
pageSize: 20,
hasNextPage: false,
nextPage: 0,
}
const pagination = reactive({ ...paginationRaw })
// update pagination
function updatePagination(res) {
if (!res) {
resetPagination()
return
}
const { nextPage, hasNextPage, pageNum, pageSize } = res
pagination.pageNum = pageNum || 1
pagination.nextPage = nextPage
pagination.hasNextPage = hasNextPage || false
pagination.pageSize = pageSize || 20
}
// reset pagination
function resetPagination() {
pagination.pageNum = 1
pagination.pageSize = 20
pagination.hasNextPage = false
pagination.nextPage = 0
}
return { pagination, updatePagination, resetPagination }
}