结论问题根因不是路由配置而是SVG 本体写法不一致attribute.svg写死了fill#4D4D4D无法跟随菜单激活态颜色product.svg未写死填充色可继承currentColor。排查过程确认渲染链路一致两者都通过meta.icon 同一菜单组件渲染。对比 SVG 内容product.svg不锁色attribute.svg锁死 fill。核对主题机制全局菜单颜色基于currentColor但被硬编码 fill 抵消。如何验证将attribute.svg的硬编码fill去掉或改为currentColor后菜单激活态下两图标应呈现一致高亮色。注意事项只改 CSS、不改 SVG 的硬编码 fill通常无效图标仍会保持灰色导致“文字高亮、图标不亮”的割裂感。建议建议统一项目 SVG 规范图标默认不写死颜色统一依赖currentColor与主题变量控制。1. 现象描述在左侧菜单中「产品列表」图标颜色能随选中态变化「属性管理」图标偏灰不随选中态同步。这会让用户感知到“同级菜单视觉不统一”。2. 证据链代码定位2.1 路由层两者配置方式一致排除路由原因src/router/index.ts:161meta: { title: 产品列表, icon: product, keepAlive: true }src/router/index.ts:167meta: { title: 属性管理, icon: attribute, keepAlive: true }2.2 菜单渲染层两者走同一 icon 渲染路径src/layouts/components/Menu/components/MenuItemContent.vue:7v-else :class\i-svg:${icon}说明组件渲染逻辑并未对“产品列表/属性管理”做差异化处理。2.3 SVG 资源层颜色策略不一致根因src/assets/icons/product.svg:1path未写死fill/stroke可继承外部颜色src/assets/icons/attribute.svg:1多个path存在fill#4D4D4D颜色被锁定2.4 样式与构建机制本来支持 currentColor但被硬编码覆盖src/layouts/components/LayoutSidebarItem.vue:179src/layouts/components/LayoutSidebarItem.vue:184对i-svg图标设置color: currentcolor !important;src/layouts/components/Menu/components/MenuItemContent.vue:38.menu-icon { color: currentcolor; }src/styles/common.scss:32到src/styles/common.scss:35.el-menu-item.is-active { color: var(--menu-active-text) !important; ... }uno.config.ts:68到uno.config.ts:71仅在 SVG没有 fill时才注入fillcurrentColor已有 fill 则不覆盖。3. 根因总结图标颜色不一致本质是SVG 是否“锁色”的差异。product.svg未锁色 → 可继承菜单激活色attribute.svg锁死#4D4D4D→ 无法随状态变色。4. 修复建议最小改动方案A推荐将attribute.svg中所有硬编码fill#4D4D4D改为fillcurrentColor或直接移除 fill让构建/样式注入。方案B不推荐通过更强 CSS 覆盖硬编码 fill。缺点维护成本高、对多 path 和特殊图标兼容性差。