import PageBreadcrumb from '@/components/breadcrumb' import ErrorPage from '@/components/error/error.tsx' import SelectLang from '@/components/select-lang' import { useTranslation } from '@/i18n.ts' import { MenuItem } from '@/types' import { ProConfigProvider, ProLayout, } from '@ant-design/pro-components' import { CatchBoundary, Link, Outlet, useRouteContext } from '@tanstack/react-router' import { ConfigProvider, Dropdown } from 'antd' import { useState } from 'react' import Icon from '../components/icon' import defaultProps from './_defaultProps' //根据menuData生成Breadcrumb所需的数据 const getBreadcrumbData = (menuData: MenuItem[], pathname: string) => { const breadcrumbData: any[] = [] const findItem = (menuData: any[], pathname: string) => { for (let i = 0; i < menuData.length; i++) { if (menuData[i].path === pathname) { breadcrumbData.push(menuData[i]) return true } if (menuData[i].children) { if (findItem(menuData[i].children, pathname)) { breadcrumbData.push(menuData[i]) return true } } } return false } findItem(menuData, pathname) return breadcrumbData.reverse() } export default () => { const { t } = useTranslation() const { menuData } = useRouteContext({ from: undefined, strict: false, select: (state) => state }) const items = getBreadcrumbData(menuData, location.pathname) const [ pathname, setPathname ] = useState(location.pathname) return (