diff --git a/app/components/layout/Breadcrumb.tsx b/app/components/layout/Breadcrumb.tsx index 1985936..c044320 100644 --- a/app/components/layout/Breadcrumb.tsx +++ b/app/components/layout/Breadcrumb.tsx @@ -18,6 +18,7 @@ interface PreviousRouteData { interface Handle { breadcrumb: string | ((data: unknown) => string); previousRoute?: PreviousRouteData | ((data: unknown) => PreviousRouteData | undefined); + breadcrumbClassName?: string; } interface Match { @@ -64,12 +65,22 @@ export function Breadcrumb({ items = [], className = '' }: BreadcrumbProps) { }) .flat(); // 扁平化数组 + // 获取自定义类名 + const getCustomClassName = () => { + const lastMatch = matches[matches.length - 1]; + return lastMatch?.handle?.breadcrumbClassName || ''; + }; + if (breadcrumbs.length === 0) { return null; } + // 应用自定义类名 + const customClassName = getCustomClassName(); + const finalClassName = `mb-4 ${className} ${customClassName}`.trim(); + return ( -