import { ref } from "vue" import { IEmits } from "../types" interface IParams { emit: IEmits beforePageChange: () => void initialPageSize?: number } export function usePagination({ emit, beforePageChange, initialPageSize = 10 }: IParams) { const pageSize = ref(initialPageSize); const handlePageSizeChange = (size: number) => { pageSize.value = size; // searchValue.value = {}; beforePageChange(); emit('page-change', { size, page: 1 }); } const handleCurrPageChange = (curr: number) => { // searchValue.value = {}; beforePageChange(); emit('page-change', { size: pageSize.value, page: curr }); } return { pageSize, handlePageSizeChange, handleCurrPageChange, } }