Forráskód Böngészése

2.3 修改modal优化

xyh 2 éve
szülő
commit
bf00fd5029

+ 8 - 4
packages/app/src/pages/menu/table/modal/hooks.ts

@@ -1,6 +1,8 @@
 import {addMenu, editMenu, getMenuList} from '@apis';
 import {yupResolver} from '@hookform/resolvers/yup';
+import {useContextSection, usePage} from '@hooks';
 import {MenuListData} from '@models';
+import {context, pageContext} from '@pages/menu/context';
 import {useMutation, useQueryClient} from '@tanstack/react-query';
 import {message} from 'antd';
 import {useEffect, useMemo} from 'react';
@@ -57,15 +59,17 @@ function useEdit(onClose: () => void, onFetch: () => void) {
 function useEditData(id: string) {
   const client = useQueryClient();
   const {id: pid} = useParams<{id: string}>();
+  const [{page, pageSize}] = usePage(pageContext);
+  const name = useContextSection(context, state => state[0].name);
   return useMemo(function() {
     const list = client.getQueryData<MenuListData[]>(
-      [getMenuList.name, pid ?? '0'],
-      {exact: false},
+      [getMenuList.name, pid ?? '0', page, pageSize, name],
     );
+
     const result = list?.find(val => val.id === id);
 
     return result;
-  }, [client, id, pid]);
+  }, [client, id, name, page, pageSize, pid]);
 }
 
 export function useFormState(
@@ -94,7 +98,7 @@ export function useFormState(
     if (visible) {
       setValue('menuName', editData?.name ?? '');
       setValue('menuUrl', editData?.url ?? '');
-      setValue('menuOrderBy', editData?.orderBy ?? '');
+      setValue('menuOrderBy', editData?.orderBy ?? '0');
       clearErrors();
     }
   }, [clearErrors, editData, setValue, visible]);

+ 6 - 2
packages/app/src/pages/role/table/modal/hooks.ts

@@ -1,6 +1,8 @@
 import {addRole, editRole, getRoleList} from '@apis';
 import {yupResolver} from '@hookform/resolvers/yup';
+import {useContextSection} from '@hooks';
 import {AddRoleParams, RoleListData} from '@models';
+import {context, pageContext} from '@pages/role/context';
 import {useMutation, useQueryClient} from '@tanstack/react-query';
 import {message} from 'antd';
 import {useEffect, useMemo} from 'react';
@@ -52,12 +54,14 @@ function useEdit(onFetch: () => void, onClose: () => void) {
 
 function useEditData(id: string) {
   const client = useQueryClient();
+  const {page, pageSize} = useContextSection(pageContext, state => state[0]);
+  const name = useContextSection(context, state => state[0].name);
 
   const data = useMemo(function() {
-    const state = client.getQueryData<RoleListData[]>([getRoleList.name], {exact: false});
+    const state = client.getQueryData<RoleListData[]>([getRoleList.name, page, pageSize, name]);
 
     return state?.find(val => String(val.id) === id);
-  }, [client, id]);
+  }, [client, id, name, page, pageSize]);
 
   return data;
 }