xyh пре 2 година
родитељ
комит
40dcae98f2

+ 10 - 6
packages/app/src/hooks/useQueryList/index.ts

@@ -1,7 +1,7 @@
 import {createPageContext, createSearchContext, usePage, useTableSearch} from '@hooks';
 import {BaseListResult, ListParams, OriginalListParams} from '@models';
 import {useQuery} from '@tanstack/react-query';
-import {jumpToPrevPage, shallowEqual} from '@utils';
+import {shallowEqual} from '@utils';
 import {useEffect, useRef, useState} from 'react';
 
 type UseQueryListResult<D> = [
@@ -60,13 +60,17 @@ export function useQueryList<
       } as P);
 
       if (data.msg === '200') {
-        // 当页面只有一个数据的时候 删除了页码改为前一个 但是数据请求还是当前页码
-        // 需要判断当前是否无数据并且页码大于1 满足时跳转到前一个页面
-        jumpToPrevPage({data: data.data.list, current: page, onPageChange: onCurrentPageChange});
+        const {total, list} = data.data;
 
-        setCount(data.data.total);
+        /**
+         * 当页面只有一个数据的时候 删除了页码改为前一个 但是数据请求还是当前页码
+         * 需要判断当前是否无数据并且页码大于1 满足时跳转到前一个页面
+         */
+        page > 1 && list.length === 0 && onCurrentPageChange(page - 1);
 
-        return (prevData.current = data.data.list);
+        setCount(total);
+
+        return (prevData.current = list);
       }
 
       return [];

+ 0 - 1
packages/app/src/utils/index.ts

@@ -5,4 +5,3 @@ export * from './clearHistoryState';
 export * from './types';
 export * from './sortMenu';
 export * from './deleteConfirm';
-export * from './jumpToPrevPage';

+ 0 - 31
packages/app/src/utils/jumpToPrevPage/index.test.ts

@@ -1,31 +0,0 @@
-import {jumpToPrevPage} from '.';
-
-const fn = jest.fn();
-
-function onPageChange(page: number) {
-  fn();
-}
-
-describe('jumpToPrevPage', function() {
-  beforeEach(function() {
-    fn.mockClear();
-  });
-
-  it('有数据并且page大于1', function() {
-    jumpToPrevPage({current: 2, data: [1, 2, 3], onPageChange});
-
-    expect(fn).not.toBeCalled();
-  });
-
-  it('无数据并且page大于1', function() {
-    jumpToPrevPage({current: 2, data: [], onPageChange});
-
-    expect(fn).toBeCalled();
-  });
-
-  it('无数据并且page为1', function() {
-    jumpToPrevPage({current: 1, data: [], onPageChange});
-
-    expect(fn).not.toBeCalled();
-  });
-});

+ 0 - 12
packages/app/src/utils/jumpToPrevPage/index.ts

@@ -1,12 +0,0 @@
-
-type Options = {
-  data: any[],
-  current: number,
-  onPageChange: (page: number) => void,
-};
-
-export function jumpToPrevPage({data, current, onPageChange}: Options) {
-  if (current <= 1) return;
-
-  data.length === 0 && onPageChange(current - 1);
-}