浏览代码

fix: 修改table title在iframe中不显示的问题

xyh 2 年之前
父节点
当前提交
5271ebae50

+ 4 - 4
packages/app/src/components/table-tools/index.tsx

@@ -5,13 +5,13 @@ import {
   Refresh,
   Upload,
 } from '@icon-park/react';
-import {ChildrenFC} from '@utils';
+import {ChildrenFC, MENU_STORAGE} from '@utils';
 import {Button, Space, Upload as AntUpload, UploadProps} from 'antd';
 import css from './index.module.css';
 import {useLocation} from 'react-router-dom';
 import {useMemo} from 'react';
-import {useStore} from 'zustand';
-import {menuStore} from '@stores';
+import {useSessionStorageState} from 'ahooks';
+import {TreeRoleMenuData} from '@models';
 
 type Props = {
   onAdd?: () => void;
@@ -37,7 +37,7 @@ const TableTools: ChildrenFC<Props> = function ({
   uploadProps,
   isUploading,
 }) {
-  const pages = useStore(menuStore, state => state.menus);
+  const [pages] = useSessionStorageState<TreeRoleMenuData[]>(MENU_STORAGE);
   const {pathname} = useLocation();
   const menuTitle = useMemo(
     function () {

+ 2 - 0
packages/app/src/stores/menu.ts

@@ -1,4 +1,5 @@
 import {TreeRoleMenuData} from '@models';
+import {MENU_STORAGE} from '@utils';
 import {createStore} from 'zustand/vanilla';
 
 type State = {menus: TreeRoleMenuData[]};
@@ -11,6 +12,7 @@ export const menuStore = createStore<State & Action>(function (set) {
   return {
     menus: [],
     setMenu(menus) {
+      sessionStorage.setItem(MENU_STORAGE, JSON.stringify(menus));
       set({menus});
     },
   };

+ 2 - 0
packages/app/src/utils/constants.ts

@@ -4,6 +4,8 @@ export const USER_TOKEN_STORAGE = 'userToken';
 export const USER_NAME_LOGIN_STORAGE = 'memoUserLoginName';
 export const USER_ALL_LOGIN_STORAGE = 'memoAllLoginUser';
 export const MEMO_USER_STORAGE = 'userInfoData';
+/** 菜单存储 */
+export const MENU_STORAGE = 'menu';
 /** 用户菜单收起状态 */
 export const MENU_COLLAPSED_STORAGE = 'menu_collapsed';
 /** 页码列表 */