import { ref } from 'vue';


/**
 * 分页改变获取数据
 * @param getData 获取数据的方法, 在调用的文件处完成getData方法的实现后传入
 */
export function usePagination(getData: Function) {
  const tableData = ref([]);
  const total = ref(0);
  const currentPage = ref(1);
  const pageSize = ref(10);

  /**
   * 分页改变
   * @param newPage 当前页码
   * @param newSize 每页条数
   */
  async function handlePageChange(newPage: number, newSize: number) {
    currentPage.value = newPage;
    pageSize.value = newSize;
    await getData();
  }

  return {
    tableData,
    total,
    currentPage,
    pageSize,
    handlePageChange
  };
}
