import './sidebar-item.less'; import { CaretRightOutlined } from '@ant-design/icons'; import { Fragment, useState } from "react"; import classnames from "classnames"; import CustomLink from '../custom-link/custom-link'; import { IsidebarItem } from '.'; interface Iprops { route: IsidebarItem } export default function SidebarItem(props: Iprops) { const route = props.route; let [expanded, setExpanded] = useState(!!route.expanded); let [active, setActive] = useState(false); const handleExpand = (e) => { setExpanded(!expanded); e.stopPropagation(); } const ItemContent = (
{route.icon}
{route.name}
) return (
{route.children != null && ( )}
{route.url && ( setActive(!!active)} className="item-content"> {ItemContent} )} {!route.url && (
{ItemContent}
)}
{route.children?.map(subItem => ( {subItem.name} ))}
) }