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

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.dtcms.com/a/305805.html

相关文章:

  • 深度学习:预训练和warm up的区别
  • React 开发中遇见的低级错误
  • 线性代数常见的解题方法
  • JS中defineProperty/Proxy 数据劫持 vue3/vue2双向绑定实现原理,react 实现原理
  • 在 React + Ant Design 项目中实现文字渐变色
  • 技术速递|GitHub Copilot 的 Agent 模式现已全面上线 JetBrains、Eclipse 和 Xcode!
  • 国产化再进一步,杰和科技推出搭载国产芯片的主板
  • Unity UI的未来之路:从UGUI到UI Toolkit的架构演进与特性剖析(5)
  • JavaScript数据类型
  • 高密度客流特征识别误差↓76%!陌讯多模态轻量化算法实战解析
  • Linux初始及常见指令使用
  • Redis学习------缓存雪崩
  • 解决Property ‘sqlSessionFactory‘ or ‘sqlSessionTemplate‘ are required报错问题
  • 视频生成模型蒸馏的方法
  • Orange的运维学习日记--19.Linux文件归档和备份
  • 15.10 单机8卡到千卡集群!DeepSpeed实战调参手册:A100训练效率翻倍,百万成本优化实录
  • 南水北调东线工程图件 shp数据
  • 三目云台全景监控画面实现三个画面联动
  • 【图像处理】直方图均衡化c++实现
  • python基础语法2,程序控制语句(简单易上手的python语法教学)(课后练习题)
  • Python3与MySQL的PyMySQL连接与应用
  • 【Spring Boot 快速入门】四、MyBatis
  • Nestjs框架: 关于 OOP / FP / FRP 编程
  • 关于神经网络CNN的搭建过程以及图像卷积的实现过程学习
  • OSS-服务端签名Web端直传+STS获取临时凭证+POST签名v4版本开发过程中的细节
  • 修改Windows鼠标滚轮方向
  • 《计算机组成原理与汇编语言程序设计》实验报告六 存储器实验
  • mangoDB面试题及详细答案 117道(071-095)
  • LeetCode 160:相交链表
  • 使用es实现全文检索并且高亮显示