import './menu-with-top-button.css' import { IMenuListItem, IMenuWithTopButton } from "../../interfaces/menu/IMenuWithTopButton.ts"; import objImg from '../../static/left/obj.png' import newImg from '../../static/left/new.png' import { useNavigate } from 'react-router-dom'; import { RightOutlined } from '@ant-design/icons'; import { getMenuActive, setMenuActive } from './../../util/cache' import { useEffect, useState } from 'react' export default function MenuWithTopButton(props: IMenuWithTopButton) { const navugate = useNavigate() const [menuItem, setMenuItem] = useState([]) useEffect(() => { setMenuItem( props.list.map((m) => { if (getMenuActive()) { if (getMenuActive() == m.id) { m['active'] = true } else { m['active'] = false } } return m }) ) }, [getMenuActive()]) const list = menuItem.map((item, index) => ( // 创建项目下三个选项
  • { props.handleListItem(e, index, item); setMenuActive(item.id) navugate('/home',{ state: { keyword: props.keywords, name: props.type, chargeAdditionals: props.chargeAdditionals, progress: props.progress, authorId: props.authorId } }) }}> {item.icon ? (加载失败) : <>} {item.name}
  • )); return (
    {/* button 是三个黄色按钮 */}
    {props.button.name}
    { props.button.handle(e); // 当点击创建时其他按钮默认为不被选中 // props.list.forEach(item => item.active = false); // console.log(props.list); // setMenuActive('ALL') }}>
    创建
    {/* */}
    ) }