UNPKG

1.37 kBJavaScriptView Raw
1import React from 'react';
2import { Layout, Menu, Icon } from 'antd';
3
4const { SubMenu } = Menu;
5const { Sider } = Layout;
6
7import PubSub from 'pubsub-js';
8
9
10export default class SiderView extends React.Component {
11
12 constructor(props) {
13 super(props);
14 }
15
16
17 $renderItem(db) {
18 let res = [];
19 for(var k in db) {
20 const list = db[k];
21 const items = list.map((item, i) => {
22 return <Menu.Item key={item.page}>{item.page}</Menu.Item>
23 });
24 res.push((
25 <SubMenu key={k} title={k}>
26 {items}
27 </SubMenu>
28 ))
29 }
30 return res;
31 }
32
33 handleMenuClick({item, key, keyPath}) {
34 console.log(item, key);
35
36 PubSub.publish('SET_PAGE', key);
37
38 }
39
40 render() {
41
42 const menuItems = this.$renderItem(this.props.db);
43
44
45 return (
46 <Sider width={200} style={{ background: '#fff' }}>
47 <Menu
48 mode="inline"
49 defaultSelectedKeys={['0']}
50 defaultOpenKeys={['Comp']}
51 style={{ height: '100%' }}
52 onClick={this.handleMenuClick.bind(this)}
53 >
54 {menuItems}
55
56
57 </Menu>
58 </Sider>
59 )
60 }
61}
\No newline at end of file