Browse Source

自动打开第一个菜单页

zhouna 3 năm trước cách đây
mục cha
commit
08809a99ad
1 tập tin đã thay đổi với 14 bổ sung9 xóa
  1. 14 9
      src/components/AMenu/index.js

+ 14 - 9
src/components/AMenu/index.js

@@ -23,10 +23,9 @@ const pageMap = {
     '病区管理': <InpaManager />
 }
 
-let firsted=false;
+let firstMenuPage=null;         //第一个菜单,自动激活时用
 function AMenu() {
     const [menuList,setMenuList] = useState([]);        //菜单列表数据
-    //let [firsted,setFirsted] = useState(false);      //是否已设置过第一个菜单选中
     const dispatch = useDispatch();
     //当前选中的菜单
     const {activeTab ,panes} = useSelector(state => {
@@ -52,12 +51,6 @@ function AMenu() {
                 const data =  res.data.data;
                 const menuData = data.showMenuInfo;
                 setMenuList(menuData);
-                /*if(!firsted){console.log(21)
-                    //dispatch(
-                        //add({ title: it.menuName, content: pageMap[it.menuName] || <NullPage />, key: it.menuName })
-                    //);
-                    firsted=true;console.log(44,firsted,panes)
-                }*/
             }else{
                 message.error(res.data.msg||'获取菜单失败');
             }
@@ -66,6 +59,9 @@ function AMenu() {
     function getSubMenu(data){
         return data.map((it)=>{
             if(it.menuType==='1'){
+                if(!firstMenuPage){
+                    firstMenuPage=it;
+                }
                 return (
                     <Menu.Item key={it.menuName}>{it.menuName}</Menu.Item>
                 )
@@ -82,10 +78,19 @@ function AMenu() {
     }
     useEffect(()=>{
         getUserMenus();
+        const timeO = setTimeout(()=>{
+            dispatch(
+                add({ title: firstMenuPage.menuName, content: pageMap[firstMenuPage.menuName] || <NullPage />, key: firstMenuPage.menuName })
+            );
+        },500);
+        return function clearOut(){
+            clearTimeout(timeO);
+        }
+
     },[]);
     return (
         <Menu
-            /*defaultSelectedKeys={['组织管理']}
+            /*defaultSelectedKeys={[menuList[0].menuName]}
             defaultOpenKeys={[menuList[0].menuId]}*/
             selectedKeys={activeTab}
             mode="inline"