import Collapse from '@/components/Collapse' import Link from 'next/link' import { useRouter } from 'next/router' import { useEffect, useState } from 'react' /** * 折叠菜单 * @param {*} param0 * @returns */ export const MenuItemCollapse = props => { const { link } = props const [show, setShow] = useState(false) const hasSubMenu = link?.subMenus?.length > 0 const [isOpen, setOpen] = useState(false) const router = useRouter() const selected = router.pathname === link.href || router.asPath === link.href const toggleShow = () => { setShow(!show) } const toggleOpenSubMenu = () => { setOpen(!isOpen) } // 路由切换时菜单收起 useEffect(() => { setOpen(false) }, [router]) if (!link || !link.show) { return null } return ( <>
{!hasSubMenu && (
{link.name}
)} {hasSubMenu && (
{link.name}
)}
{/* 折叠子菜单 */} {hasSubMenu && ( {link?.subMenus?.map(sLink => { return (
{sLink.title}
) })} )} ) }