leftTab.jsx 2.5 KB

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