|
|
@ -1,28 +1,28 @@ |
|
|
|
import React, {useState} from "react"; |
|
|
|
import React, { useState } from "react" |
|
|
|
|
|
|
|
export default () => { |
|
|
|
const title = "秦时明月"; |
|
|
|
const title = "美女管理后台" |
|
|
|
const [leftMenuList, setLeftMenuList] = useState<any[]>([ |
|
|
|
{title: "首页", path: "/"}, |
|
|
|
{title: "角色", children: [{title: "月儿", path: "/about"}]}, |
|
|
|
]); |
|
|
|
{ title: "首页", path: "/" }, |
|
|
|
{ title: "角色", children: [{ title: "月儿", path: "/about" }] }, |
|
|
|
]) |
|
|
|
|
|
|
|
const [rightMenuList, setRightMenuList] = useState<any[]>([ |
|
|
|
{ |
|
|
|
title: "登录/注册", |
|
|
|
click: true |
|
|
|
click: true, |
|
|
|
}, |
|
|
|
]); |
|
|
|
]) |
|
|
|
|
|
|
|
function onLeftClick(e: any, menu: any, allMenu: any) { |
|
|
|
if (menu.click || !menu.path) { |
|
|
|
e.preventDefault(); |
|
|
|
e.preventDefault() |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
function onRightClick(e: any, menu: any, allMenu: any) { |
|
|
|
if (menu.click || !menu.path) { |
|
|
|
e.preventDefault(); |
|
|
|
e.preventDefault() |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
@ -30,65 +30,57 @@ export default () => { |
|
|
|
<div className=""> |
|
|
|
<div className="shadow bg-white h-12 leading-12 fixed top-0 left-0 right-0"> |
|
|
|
<div className="container h-full clearfix mx-auto"> |
|
|
|
<div className="h-full float-left cursor-pointer text-size-25px flex items-center"> |
|
|
|
{title} |
|
|
|
</div> |
|
|
|
<div className="h-full float-left cursor-pointer text-size-25px flex items-center">{title}</div> |
|
|
|
<ul className="h-full float-left ml-10"> |
|
|
|
{leftMenuList.map((menu, index) => { |
|
|
|
return ( |
|
|
|
<li className="h-full float-left group relative" key={index}> |
|
|
|
<a |
|
|
|
href={menu.path ? menu.path : '#'} |
|
|
|
onClick={(e) => onLeftClick(e, menu, leftMenuList)} |
|
|
|
href={menu.path ? menu.path : "#"} |
|
|
|
onClick={e => onLeftClick(e, menu, leftMenuList)} |
|
|
|
className="h-full px-5 hover:(bg-cool-gray-200 text-black) text-gray-400 text-size-14px flex items-center" |
|
|
|
> |
|
|
|
{menu.title} |
|
|
|
</a> |
|
|
|
{menu.children && menu.children.length && ( |
|
|
|
<ul |
|
|
|
className="absolute overflow-hidden transition-all duration-150 max-h-0 group-hover:max-h-500px left-0 top-full shadow"> |
|
|
|
<ul className="absolute overflow-hidden transition-all duration-150 max-h-0 group-hover:max-h-500px left-0 top-full shadow"> |
|
|
|
{menu.children.map((subMenu: any, jndex: number) => { |
|
|
|
return ( |
|
|
|
<li key={jndex} className="float-left relative"> |
|
|
|
<a |
|
|
|
href={subMenu.path ? subMenu.path : '#'} |
|
|
|
onClick={(e) => |
|
|
|
onLeftClick(e, subMenu, leftMenuList) |
|
|
|
} |
|
|
|
href={subMenu.path ? subMenu.path : "#"} |
|
|
|
onClick={e => onLeftClick(e, subMenu, leftMenuList)} |
|
|
|
className="h-12 px-5 hover:(bg-cool-gray-200 text-black) text-gray-400 text-size-14px flex items-center" |
|
|
|
> |
|
|
|
{subMenu.title} |
|
|
|
</a> |
|
|
|
</li> |
|
|
|
); |
|
|
|
) |
|
|
|
})} |
|
|
|
</ul> |
|
|
|
)} |
|
|
|
</li> |
|
|
|
); |
|
|
|
) |
|
|
|
})} |
|
|
|
</ul> |
|
|
|
<ul className="float-right h-full"> |
|
|
|
{rightMenuList.map((menu, index) => { |
|
|
|
return ( |
|
|
|
<li |
|
|
|
key={index} |
|
|
|
className="h-full float-left relative cursor-pointer" |
|
|
|
> |
|
|
|
<li key={index} className="h-full float-left relative cursor-pointer"> |
|
|
|
<a |
|
|
|
href={menu.path ? menu.path : '#'} |
|
|
|
href={menu.path ? menu.path : "#"} |
|
|
|
className="h-full px-5 text-size-14px flex items-center" |
|
|
|
onClick={(e) => onRightClick(e, menu, rightMenuList)} |
|
|
|
onClick={e => onRightClick(e, menu, rightMenuList)} |
|
|
|
> |
|
|
|
{menu.title} |
|
|
|
</a> |
|
|
|
</li> |
|
|
|
); |
|
|
|
) |
|
|
|
})} |
|
|
|
</ul> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<div className="h-12"></div> |
|
|
|
</div> |
|
|
|
); |
|
|
|
}; |
|
|
|
) |
|
|
|
} |
|
|
|