React后台管理系统08 左侧菜单栏点击事件以及设置只有一个菜单展开项
阅读原文时间:2023年08月25日阅读:1

我们在Menu组件身上添加一个点击事件:对应的函数写一个回调函数:获取当前对象的e的身上的key,

这里其实不难看出e就是当前点击时的menu对象,我们这里获取的是e的key,对应上面定义的属性。

此时修改上面配置的参数为/page1  /page2

需要使用useNavigate和OutLet,React自带的路由组件

然后将整个路由组件进行声明使用

此时还没有完成,我么需要修改router.tsx中的index.tsx,特别注意这里不要将children写成大写的!这是一个坑!

这样的话就可以在访问"/"根路径的时候,每次都到Page1路由组件里面了。

效果如下:

但是大家可以看到e.key参数爆红了,这时候我们就将他as 一个 TO 就行了,可以看ts的源码,他需要的是一个参数TO

解决了之后就没问题了,这时候我们需要将菜单设置为只有一个打开项要怎么做呢?

使用Menu自带的2个方法,onOpenChange方法 和 openKeys状态

效果如下: