NavDropdown.js 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. import React from "react";
  2. import "bootstrap/dist/css/bootstrap.min.css";
  3. import { Link } from "react-router-dom";
  4. import {
  5. DropdownToggle,
  6. DropdownMenu,
  7. DropdownItem,
  8. Button,
  9. ButtonDropdown
  10. } from "reactstrap";
  11. export default class NavDropdown extends React.Component{
  12. state = {
  13. isOpen: false,
  14. }
  15. toggle = () => this.setState({isOpen: !this.state.isOpen});
  16. render(){
  17. return(
  18. <ButtonDropdown isOpen={this.state.isOpen} toggle={this.toggle}>
  19. <Button id="caret" color="link" className="pr-2">
  20. <Link className="nav-link pr-0" to={this.props.link.url}>{this.props.link.name}</Link>
  21. </Button>
  22. <DropdownToggle caret color="link" className="pl-0"/>
  23. <DropdownMenu right>
  24. <DropdownItem >
  25. {this.props.link.sublinks.map((sublink, idx) => (
  26. <Link className="nav-link text-dark" to={sublink.url} key={idx}>
  27. {sublink.name}
  28. </Link>
  29. ))}
  30. </DropdownItem>
  31. </DropdownMenu>
  32. </ButtonDropdown>
  33. );
  34. }
  35. }