Преглед на файлове

fix:俱乐部管理-列表不刷新

lvkun преди 3 години
родител
ревизия
4e5810a86d
променени са 2 файла, в които са добавени 18 реда и са изтрити 14 реда
  1. 3 4
      src/models/user.ts
  2. 15 10
      src/pages/club/index.tsx

+ 3 - 4
src/models/user.ts

@@ -68,6 +68,7 @@ const UserModel: UserModelType = {
     },
     *getRoleList(_, { call, put }) {
       const { payload, callback } = _;
+
       const r = yield call(getRoleList, payload);
 
       yield put({
@@ -84,10 +85,8 @@ const UserModel: UserModelType = {
      * @description 保存权限列表
      */
     saveRoleList(state, action) {
-      return {
-        ...state,
-        roleList: action.payload.slice(1) || [],
-      };
+      let newState = { ...state, roleList: action.payload.slice(1) || [] };
+      return newState;
     },
 
     saveCurrentUser(state, action) {

+ 15 - 10
src/pages/club/index.tsx

@@ -41,20 +41,21 @@ const Club: React.FC<IProps> = ({ dispatch, roleList }) => {
 
   const { loading, visable, curClub } = state;
 
-  console.log(loading, curClub, 'curClub');
-
   useEffect(() => {
     getRoleList();
   }, []);
 
   // 获取role列表
   const getRoleList = () => {
+    console.log('2233');
+
     dispatch({
       type: 'user/getRoleList',
       payload: {
         curPage: 1,
         passSize: 100,
       },
+      callback: () => {},
     });
   };
 
@@ -84,21 +85,21 @@ const Club: React.FC<IProps> = ({ dispatch, roleList }) => {
         draft.loading = true;
       }),
     );
-    console.log(curClub, 'curClub');
 
     const { code, data } = await putRoleList(curClub);
 
     if (code === 0 && data === 1) {
       message.success('修改成功');
     }
+
+    getRoleList();
+
     setState(
       produce(state, (draft) => {
         draft.visable = false;
         draft.loading = false;
       }),
     );
-
-    getRoleList();
   };
 
   // 禁用或者启用
@@ -115,11 +116,15 @@ const Club: React.FC<IProps> = ({ dispatch, roleList }) => {
       message.success($par.isForbidden ? '禁用成功' : '启用成功');
     }
     getRoleList();
-    setState(
-      produce(state, (draft) => {
-        draft.loading = false;
-      }),
-    );
+    // setState(
+    //   produce(state, (draft) => {
+    //     draft.loading = false;
+    //   }),
+    // );
+    setState({
+      ...state,
+      loading: false,
+    });
   };
 
   // 修改label