前言
动态tab水平菜单,这个需求很常见,特别是对于后台管理系统来说;
因为当我们侧边栏层级多了,你要找到一个子菜单,必须找,展开,点击....结合路由进行响应
目标
点击tab展示页面内容,同时关联侧边栏的菜单
tab自身可以关闭,注意规避只有一个的时候不显示关闭按钮,高亮的
杜绝重复点击tab的时候(tab和路由匹配的情况),再次渲染组件...一键关闭除当前url以外的的所有tab
重定向的时候也会自动展开侧边栏(路由表存在匹配的情况)
可拓展的方向
有兴趣的自行拓展,具体idea如下
比如快速跳转到第一个或者最后一个的快捷菜单等
给侧边栏的子菜单都带上...类似chrome的固定,不会给关闭所有干掉
----
代码实现
RouterStateModel.js(mobx状态维护)
Model我们要考虑这么几点
侧边栏item的的组key,和子key,子name...}
const RouterState = new RouterStateModel();
export default RouterState;
复制代码
Sidebar.js(侧边栏组件)