最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

react实现菜单权限控制的方法

来源:懂视网 责编:小采 时间:2020-11-27 22:23:56
文档

react实现菜单权限控制的方法

react实现菜单权限控制的方法:通常公司的后台管理系统都需要权限控制,即不同的角色用户看到不同的菜单,如下图: 下面,通过react实现这样的后台管理系统(脚手架),功能简介: 1.顶部的菜单项根据用户的角色动态生成。 2.侧边测菜单项根据已选的顶部菜单动态生成。 直接上代码:
推荐度:
导读react实现菜单权限控制的方法:通常公司的后台管理系统都需要权限控制,即不同的角色用户看到不同的菜单,如下图: 下面,通过react实现这样的后台管理系统(脚手架),功能简介: 1.顶部的菜单项根据用户的角色动态生成。 2.侧边测菜单项根据已选的顶部菜单动态生成。 直接上代码:

通常公司的后台管理系统都需要权限控制,即不同的角色用户看到不同的菜单,如下图:

下面,通过react实现这样的后台管理系统(脚手架),功能简介:

1.顶部的菜单项根据用户的角色动态生成。

2.侧边测菜单项根据已选的顶部菜单动态生成。

直接上代码:

路由配置:

export default (
 <Route path="/" component={App}>
 <IndexRoute component={EmployeeList}/>
 <Route path="/employee" component={Employee}>
 <IndexRoute component={EmployeeList}/>
 <Route path="/employee/list" component={EmployeeList}/>
 <Route path="/employee/detail/:id" component={EmployeeDetail}/>
 </Route>
 <Route path="/goods" component={Goods}>
 <IndexRoute component={GoodsList}/>
 <Route path="/goods/list" component={GoodsList}/>
 <Route path="/goods/detail/:id" component={GoodsDetail}/>
 </Route>
 </Route>
)

顶部菜单项单独成了一个组件:

// 动态数据
import React, { Component } from 'react'
import { Link } from 'react-router' // 引入Link处理导航跳转
import { connect } from 'react-redux'
import { fetchPostsIfNeeded, updateSubMenuWhenClick } from '../actions/count'
import { Menu } from 'antd';
class TopMenu extends Component {
 constructor(props){
 super(props);
 this.handleMenuClick = this.handleMenuClick.bind(this);
 }

 handleMenuClick(e){
 // console.log(e.item.props['data-menukey']);
 const { updateSubMenuWhenClick } = this.props
 updateSubMenuWhenClick(true, e.item.props['data-menukey'])
 }
 componentWillMount() {
 }
 componentDidMount() {
 const { fetchPostsIfNeeded } = this.props
 fetchPostsIfNeeded()
 }
 render() {
 const { menuList, fetchPostsIfNeeded } = this.props
 if(menuList.length != 0) {
 fetchPostsIfNeeded(true, menuList[0].key)
 }

 return (
 <Menu
 theme="dark"
 mode="horizontal"
 defaultSelectedKeys={['0']}
 style={{ lineHeight: '64px' }}
 onClick={this.handleMenuClick}
 >
 {
 menuList.map((e, index) => 
 <Menu.Item key={index} data-menukey={e.key} >
 <Link to={{ pathname: e.url }} >{e.name}</Link>
 </Menu.Item>
 )
 }
 </Menu>
 )
 }
}

const getList = state => {
 return {
 menuList: state.update.menuList
 }
}

export default connect(
 getList, 
 { fetchPostsIfNeeded, updateSubMenuWhenClick }
)(TopMenu)

在render函数中,如果动态生成的顶部菜单数据长度不为0,则根据顶部菜单的key动态生成侧边菜单项。

const { menuList, fetchPostsIfNeeded } = this.props
 if(menuList.length != 0) {
 fetchPostsIfNeeded(true, menuList[0].key)
 }

文档

react实现菜单权限控制的方法

react实现菜单权限控制的方法:通常公司的后台管理系统都需要权限控制,即不同的角色用户看到不同的菜单,如下图: 下面,通过react实现这样的后台管理系统(脚手架),功能简介: 1.顶部的菜单项根据用户的角色动态生成。 2.侧边测菜单项根据已选的顶部菜单动态生成。 直接上代码:
推荐度:
标签: 菜单 权限 管理
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top