UNPKG

5.29 kBJavaScriptView Raw
1/**
2 * @title Navbar和Menus的组合
3 * @description 示例采取navbar与menus的组合,达到一种PC端常用的复合导航菜单。导航添加了常用的搜索表单消息提醒等组件。
4 *
5 */
6
7import React, { Component } from 'react';
8import Menu from '../../src';
9import FormControl from 'bee-form-control';
10import Badge from 'bee-badge';
11import Icon from 'bee-icon';
12
13
14import Navbar from 'bee-Navbar';
15
16const SubMenu = Menu.SubMenu;
17const MenuItemGroup = Menu.ItemGroup;
18const MenuToggle = Menu.MenuToggle;
19const SideContainer = Menu.SideContainer;
20
21const NavItem = Navbar.NavItem;
22const Header = Navbar.Header;
23const Brand = Navbar.Brand;
24const Nav = Navbar.Nav;
25
26
27class Demo5 extends Component {
28 constructor(props, context) {
29 super(props, context);
30 this.state = {
31 expanded: false,
32 current: 1,
33 searchValue:"Search"
34 }
35 }
36
37 onToggle = (value) => {
38 this.setState({expanded: value});
39 }
40
41 handleClick = (e) => {
42 console.log('click ', e);
43 this.setState({
44 current: e.key
45 });
46 }
47
48 onChange = (e) => {
49 this.setState({searchValue:e});
50 }
51
52 render() {
53 return (
54 <div id="demo5">
55 <Navbar expanded={this.state.expanded} onToggle={this.onToggle}>
56 <MenuToggle show/>
57 <Header>
58 <Brand>
59 <a href="#"><img style={{width:140}} src="http://design.yyuap.com/logos/logox.png"/></a>
60 </Brand>
61 </Header>
62
63 <Nav pullRight>
64 <NavItem eventKey={1}>
65 <FormControl
66 type="text"
67 placeholder="Search"
68 onChange={this.onChange}
69 value={this.state.searchValue}
70 />
71 </NavItem>
72 <NavItem eventKey={2}>
73 <Badge dataBadge="4" colors="warning">
74 <Icon
75 type="uf-bell"
76 />
77 </Badge>
78 </NavItem>
79 <NavItem eventKey={3}>
80 <Icon type="uf-bubble-o" />
81 </NavItem>
82 <Menu mode="horizontal" className="dropdown">
83 <SubMenu title={<span>刘认华<Icon type="uf-triangle-down" /></span>}>
84 <Menu.Item key="setting:1">选项 1</Menu.Item>
85 <Menu.Item key="setting:2">选项 2</Menu.Item>
86 <Menu.Item key="setting:3">选项 3</Menu.Item>
87 <Menu.Item key="setting:4">选项 4</Menu.Item>
88 </SubMenu>
89 </Menu>
90 </Nav>
91 </Navbar>
92 <SideContainer
93 onToggle={this.onToggle}
94 expanded={this.state.expanded}>
95 <Menu onClick={this.handleClick}
96 style={{ width: 240 }}
97 defaultOpenKeys={['demo3sub1']}
98 selectedKeys={[this.state.current]}
99 mode="inline"
100 >
101 <SubMenu key="demo3sub1" title={<span><span>组织 1</span></span>}>
102 <MenuItemGroup title="组 1">
103 <Menu.Item key="1">选项 1</Menu.Item>
104 <Menu.Item key="2">选项 2</Menu.Item>
105 </MenuItemGroup>
106 <MenuItemGroup title="组 2">
107 <Menu.Item key="3">选项 3</Menu.Item>
108 <Menu.Item key="4">选项 4</Menu.Item>
109 </MenuItemGroup>
110 </SubMenu>
111 <SubMenu key="demo3sub2" title={<span><span>组织 2</span></span>}>
112 <Menu.Item key="5">选项 5</Menu.Item>
113 <Menu.Item key="6">选项 6</Menu.Item>
114 <SubMenu key="demo3sub3" title="子项">
115 <Menu.Item key="7">选项 7</Menu.Item>
116 <Menu.Item key="8">选项 8</Menu.Item>
117 </SubMenu>
118 </SubMenu>
119 <SubMenu key="demo3sub4" title={<span><span>组织 3</span></span>}>
120 <Menu.Item key="9">选项 9</Menu.Item>
121 <Menu.Item key="10">选项 10</Menu.Item>
122 <Menu.Item key="11">选项 11</Menu.Item>
123 <Menu.Item key="12">选项 12</Menu.Item>
124 </SubMenu>
125 </Menu>
126 </SideContainer>
127 </div>
128 )
129 }
130}
131
132export default Demo5;
\No newline at end of file