TopMenu.jsx 2.08 KB
import React, { Component, Fragment } from 'react'
import { Menu, Icon } from 'antd'
import PropTypes from 'prop-types'

const SubMenu = Menu.SubMenu
const MenuItemGroup = Menu.ItemGroup

class TopMenu extends Component {
  state = {
    current: 'mail'
  }

  handleClick = e => {
    this.setState({
      current: e.key
    })
  }

  render() {
    let { menuProperty } = this.props
    console.log(menuProperty)
    return (
      <Fragment>
        <Menu
          onClick={this.handleClick}
          selectedKeys={[this.state.current]}
          mode="horizontal"
        >
          {menuProperty &&
            menuProperty.map(menuPropertys => {
              return (
                <Menu.Item
                  key={menuPropertys.key}
                  disabled={menuPropertys.disabled}
                >
                  <Icon type={menuPropertys.iconType} />
                  {menuPropertys.name}
                </Menu.Item>
              )
            })}
          <SubMenu
            title={
              <span className="submenu-title-wrapper">
                <Icon type="setting" />
                Navigation Three - Submenu
              </span>
            }
          >
            <MenuItemGroup title="Item 1">
              <Menu.Item key="setting:1">Option 1</Menu.Item>
              <Menu.Item key="setting:2">Option 2</Menu.Item>
            </MenuItemGroup>
            <MenuItemGroup title="Item 2">
              <Menu.Item key="setting:3">Option 3</Menu.Item>
              <Menu.Item key="setting:4">Option 4</Menu.Item>
            </MenuItemGroup>
          </SubMenu>
          <Menu.Item key="alipay">
            <a
              href="https://ant.design"
              target="_blank"
              rel="noopener noreferrer"
            >
              Navigation Four - Link
            </a>
          </Menu.Item>
        </Menu>
      </Fragment>
    )
  }
}

// You can declare that a prop is a specific JS type.
TopMenu.propTypes = {
  titleMenuItem: PropTypes.array.isRequired
}

// Default values for props
TopMenu.defaultProps = {
  titleMenuItem: []
}
export default TopMenu