123456789101112131415161718192021222324252627282930313233343536 |
- /**
- * 分页改变获取数据, 配合useTableData使用
- * @param getData 获取数据的方法, 在调用的文件处完成getData方法的实现后传入
- */
- export function usePagination(getData: Function) {
- const tableOptions = ref({
- data: [],
- total: 0,
- page: 1,
- limit: 10,
- loading: false
- })
- /**
- * 分页改变
- * @param newPageOrObj
- * @param newSize 每页条数
- */
- async function handlePageChange(newPageOrObj: any, newSize?: any) {
- if (typeof newPageOrObj === 'object' && newPageOrObj.currentPage && newPageOrObj.pageSize) {
- // 处理 vxe-pager 的分页参数
- tableOptions.value.page = newPageOrObj.currentPage;
- tableOptions.value.limit = newPageOrObj.pageSize;
- } else {
- // 处理 element-plus 的分页参数
- tableOptions.value.page = newPageOrObj;
- tableOptions.value.limit = newSize;
- }
- await getData();
- }
- return {
- tableOptions,
- handlePageChange
- };
- }
|