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

提示词实现手风琴效果

可以,下面这段你直接复制给另外一个 AI,用它来帮你改代码就行(把“【在这里粘贴…】”那一段换成你的实际代码):


提示词:

你现在是一个资深前端工程师,熟悉 React 和 Ant Design。
我有一个三层结构的侧边菜单,需要实现“同一时刻只展开一个分支”的效果:

左侧是 Menu 组件,包含 一级 / 二级 / 三级菜单(多层 SubMenu + Menu.Item)。

需求是:

当我展开某一个子菜单(任意层级)时,其他不在同一父链上的子菜单要自动收起,类似“手风琴”效果。

当我点击某个叶子节点(Menu.Item)时,应该只保留该节点所在的那条父级路径展开,其他分支收起。

目前的实现不能做到这一点。下面是我现在的菜单相关代码(包括 Menu 渲染和 items / menuList 之类的数据结构,可能有 openKeys / selectedKeys 等):

// 在这里粘贴你当前的菜单相关代码,包括:
// 1. <Menu ... /> 的 JSX
// 2. 菜单 items/menuList 的定义
// 3. 任何 onOpenChange / onClick 等事件处理

请你根据上述需求,直接在我的代码基础上做修改,并给出一份完整可用的示例:

  1. 使用 Ant Design 的受控属性(如 openKeys、onOpenChange)实现“只展开一条分支”的逻辑。

  2. 如果需要,可以先构建一个 parentMap(子 key → 父 key)来计算某个 key 的父级链路,然后用它来控制 openKeys。

  3. 代码中请写清楚关键函数和状态(例如 buildParentMap、getPathToRoot、openKeys、selectedKeys 等)。

  4. 在回答中直接给出修改后的完整组件代码,不要只给片段,并在注释里简单说明思路。

请先简要说明你的实现思路,然后给出最终代码。

http://www.jsqmd.com/news/110731/

相关文章:

  • 基于热成像技术的纵火事件检测与识别
  • 《lvgl基础学习 —— button》
  • 《lvgl基础学习 —— button》
  • FPGA 还是 ASIC?一篇把概念、差异和选择说清楚
  • AI助力MyBatis Collection处理:告别复杂SQL编写
  • 2025年新媒体推广公司排名:新媒体推广哪家好?新媒体营销推广有哪些? - mypinpai
  • 2025年西安不锈钢水箱制造商/供应商排行榜,看哪家工艺精湛? - 工业品牌热点
  • 3大策略彻底解决SGLang项目PyTorch版本兼容性难题
  • G6国际化图可视化架构设计与性能优化实战
  • 2025年陕西不锈钢水箱厂家推荐:源头不锈钢水箱厂家有哪些? - myqiye
  • 企业级小程序逆向分析:用unpackminiapp做竞品研究
  • 别再怕数学了!这套火了10版的经典,让普通人读懂世界的底层逻辑
  • AI产品经理知识库大公开:从小白到大佬的进阶之路
  • 结构线束EMC整改:事后补救到事前预防的范式转型|深圳南柯电子
  • JavaScript笔记-标准对象
  • 2025义乌净化工程设计建造服务商推荐榜:聚焦洁净车间与实验室建设服务优势 - 呼呼拉呼
  • AWVS扫描效率提升300%:高级技巧与自动化方案
  • 小白必看!Ubuntu20.04显卡驱动安装图解教程
  • Grafana 8.5 连接华为云 ES 7.10.2 问题排查记录
  • 深入理解 CSR / SSR / SSG:前端三种渲染模式的本质与选型
  • GitStats终极指南:5大核心功能深度解析
  • 2025年西安不锈钢水箱供应商排行榜,西安不锈钢水箱厂评价及制造商详细介绍 - 工业推荐榜
  • AI Agent、Agentic Workflow与Agentic AI:一文掌握!
  • 如何用Poor Man‘s T-SQL Formatter实现SQL代码规范化管理终极指南
  • (6)pytest+Selenium自动化测试-测试用例编写
  • Vectras VM:让手机变身全能桌面电脑的终极方案
  • 如何实现跨平台DMG文件处理?免费开源工具完整解决方案
  • 国产替代正当时:盘点2025-2026年中国主流的生物反应器品牌与厂家 - 品牌推荐大师1
  • 使用qemu 加载linux-6.18.1内核
  • .NET反混淆终极指南:深入解析NETReactorSlayer核心技术与实战应用