react使用antd组件递归实现左侧菜单导航树

import React from 'react'
import { Menu, Icon } from 'antd';
import './index.less';
import MenuConfig from './../../config/menuconfig';  //导入数据
const SubMenu = Menu.SubMenu;

export default class NavLeft extends React.Component{
  componentWillMount() {
    const menuTreeNode = this.renderMenu(MenuConfig);
    this.setState({
      menuTreeNode
    })
  }
  // 菜单渲染
renderMenu = (data) => {
  return data.map((item)=>{
    if(item.children){
      return <SubMenu  key={item.key} title={item.title}>
      { this.renderMenu(item.children) }
      </SubMenu>
    }
    return <Menu.Item key={item.key} title={item.title}>{item.title}</Menu.Item>
  })
}
  render() {
    return(
      <div className='nav'>
      <div className='logo'>
      <img src='/assets/logo-ant.svg'/>
      <h3>MS</h3>
      </div>
      <Menu theme='dark'>
         {this.state.menuTreeNode}
      </Menu>
      </div>
    )
  }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值