leftTab.jsx 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. import React from 'react';
  2. import { Menu, Icon } from 'antd';
  3. import '../leftTab.less';
  4. import './content.less';
  5. import '../content.less';
  6. const SubMenu = Menu.SubMenu;
  7. const MenuItemGroup = Menu.ItemGroup;
  8. import {getMenu} from '../publicMenu.jsx'
  9. const LeftTab = React.createClass({
  10. getInitialState() {
  11. return {
  12. current: '',
  13. subKey: '',
  14. };
  15. },
  16. handleClick(e) {
  17. this.props.handlekey(e.key);
  18. this.setState({
  19. current: e.key,
  20. });
  21. },
  22. componentWillMount() {
  23. let me_=this;
  24. var ids=window.location.href.indexOf('rid=')
  25. var idk=window.location.href.substr(ids+4)
  26. var rid=idk.split('#')
  27. var menu=getMenu(rid);
  28. let cur,sub;
  29. if(menu[0].subMenus.length){
  30. cur=menu[0].subMenus[0].url.split('#');
  31. sub=menu[0].url;
  32. }else{
  33. cur=menu[0].url.split('#');
  34. sub=''
  35. };
  36. this.setState({
  37. current:cur[1],
  38. subKey:sub
  39. });
  40. var htmlMenu=[];
  41. for(var j=0;j<menu.length;j++){
  42. if(menu[j].subMenus.length){
  43. htmlMenu.push(
  44. <SubMenu key={menu[j].url} title={<span>{menu[j].name}</span>}>
  45. {
  46. menu[j].subMenus.map(function(item){
  47. let urls=item.url.split('#');
  48. return <Menu.Item key={urls[1]}>{item.name}</Menu.Item>
  49. })
  50. }
  51. </SubMenu>
  52. );
  53. }else{
  54. let urlt=menu[j].url.split('#');
  55. htmlMenu.push(
  56. <Menu.Item key={urlt[1]}>{menu[j].name}</Menu.Item>
  57. )
  58. }
  59. };
  60. this.setState({
  61. htmlMenus:htmlMenu
  62. })
  63. const _me = this;
  64. if (window.location.hash&&menu[0].subMenus.length) {
  65. let theKey = window.location.hash.substr(1);
  66. menu.map(function (item1) {
  67. item1.subMenus.map(function (item2) {
  68. let urls=item2.url.split('#')
  69. if (theKey == urls[1]) {
  70. _me.state.subKey = item1.url
  71. };
  72. });
  73. });
  74. this.state.current = theKey;
  75. }else{
  76. this.state.current = window.location.hash.substr(1);
  77. };
  78. },
  79. render() {
  80. return (
  81. <Menu onClick={this.handleClick}
  82. selectedKeys={[this.state.current]}
  83. defaultOpenKeys={[this.state.subKey]}
  84. mode="inline"
  85. className="account-left"
  86. >
  87. {this.state.htmlMenus}
  88. </Menu>
  89. );
  90. }
  91. });
  92. export default LeftTab;