TDesign Menu 菜单激活项不随路由变化更新怎么办?
我用 TDesign 的 Menu 组件做侧边栏导航,菜单项绑定了 router-link,但切换路由后 active 项没自动高亮。明明路径变了,菜单却还停留在上一个页面的选中状态,这是哪出问题了?
我试过给 Menu 的 value 属性绑定当前路由路径,也监听了 $route 变化去手动更新,但都没生效。代码大概长这样:
const currentRoute = computed(() => {
return route.path; // 比如 '/dashboard' 或 '/user/list'
});
// 在模板里传给 Menu: :value="currentRoute"
TDesign 的 Menu 组件需要设置
router属性才会自动监听路由变化高亮菜单项,光绑 value 是不够的。解决办法:给 Menu 加上
:router="true"关键点:
1. Menu 组件加
:router="true"2. MenuItem 用
to属性指定路由,不要用 router-link 组件如果你不想用路由模式,也可以手动控制激活项,用
active属性而不是value:第一种方式最省事,开个 router 模式就行。