当前位置: 首页 > web >正文

Tdesign-React 模板面包屑如何放到 Header头部

1、问题点:Tdesign-React 模板面包屑如何放到 Header头部

2、实现效果

3、源代码分析,官方通过路由的方式、为 Page 组件赋值。

4、实现思路,在 AppLayout.tsx 文件中为每个 header 传参 breadcrumbs(面包屑),关键点在于如何取到 breadcrumbs 列表值。

这里我使用 codeBuddy (deepseek-v3),输入需求:

我需要在该文件添加面包屑,帮我改造代码,并引入面包屑 breadcrumbs 值。保持跟 Page.tsx 一样的效果

deepseek-v3 给出的关键代码:

  const location = useLocation()

  const breadcrumbs = getBreadcrumbs(location.pathname);


// 获取当前路径的面包屑
const getBreadcrumbs = (pathname: string): string[] => {// console.log('pathname=>',pathname) // /dashboard/baseconst breadcrumbs: string[] = [];let currentPath = '';// 分割路径const pathSegments = pathname.split('/').filter(Boolean);// 遍历路径段,构建面包屑for (let i = 0; i < pathSegments.length; i++) {const segment = pathSegments[i];currentPath = currentPath ? `${currentPath}/${segment}` : `/${segment}`;// 在路由配置中查找匹配的路由const findRouteTitle = (routes: IRouter[], path: string): string | undefined => {for (const route of routes) {const routePath = resolve(path, route.path);if (routePath === currentPath && route.meta?.title) {return route.meta.title;}if (route.children) {const childTitle = findRouteTitle(route.children, routePath);if (childTitle) return childTitle;}}return undefined;};const title = findRouteTitle(routers, '') || segment;breadcrumbs.push(title);}return breadcrumbs;
};

这里 useLocation  是 React 的知识点。作用:获取当前路由的 location 对象 返回对象结构:

http://www.xdnf.cn/news/16777.html

相关文章:

  • 白话容器基础(一):进程
  • 2025年6月电子学会青少年软件编程(C语言)等级考试试卷(一级)
  • SSRF漏洞基础
  • Akamai CloudTest before 60 2025.06.02 XXE注入导致文件包含漏洞(CVE-2025-49493)
  • Solon v3.4.2(Java 应用开发生态基座)
  • T113-i Linux系统完整构建指南:从SDK开箱到内核镜像量产烧录全流程
  • 【力扣热题100】哈希——最长连续序列
  • MSVC编译KDChart过程
  • 实现了加载 正向 碰撞 雅可比 仿真
  • [SKE]UVM环境下OpenSSL加密算法参考模型设计
  • BOSMA博冠8K广播级讯道摄像机DC0300 EFP产品画册(下)
  • 利用SQL文件上传注入植入WebShell
  • 【从零实践Onvif】01、Onvif详细介绍(从Onvif客户端开发的角度认识Onvif、Web Servies、WSDL、SOAP)
  • SpringCloud -- MQ高级
  • 数学建模——01规划/整数规划
  • Vue3 Composition API
  • Oracle迁移PostgreSQL隐式类型转换配置指南
  • RHCA - CL260 | Day03:配置 RHCS 集群
  • PyTorch 生态四件套:从图片、视频到文本、语音的“开箱即用”实践笔记
  • Git LFS 安装和使用
  • 动态规划Day5学习心得
  • 原生C++实现信号与槽机制:原理详解
  • windows环境下MySQL 8.0 修改或重置密码
  • SpringBoot 实现 RAS+AES 自动接口解密
  • 图像处理控件Aspose.Imaging教程:使用 C# 编程将 CMX 转换为 PNG
  • 基于 Rust 和土木工程、设备故障诊断、混凝土养护、GPS追踪、供应链物流跟踪系统、地下水监测等领域的实例
  • Y型M12一分二连接器:高效稳定的数据传输解决方案
  • 涿州周边水系分布三维地图
  • MyBatis Plus Wrapper 详细分析与原理
  • 代码随想录day50图论1