react-ui-component
Version:
some component build with ReactJs
138 lines (134 loc) • 4.67 kB
JSX
import React, { Component } from 'react';
import {Menu, MenuItem, SubMenu, MenuGroup} from './index.js';
const generateMenu = (props) => {
return (
<Menu {...props}>
<SubMenu title={<div>sub menu 0</div>} active={props && props.mode === undefined}>
<MenuGroup title={<div>group 1</div>}>
<MenuItem index="item1.1">
<p>item 1-1</p>
</MenuItem>
<MenuItem index="item1.2">
<p>item 1-2</p>
</MenuItem>
</MenuGroup>
<MenuGroup title={<div>group 2</div>}>
<MenuItem index="item2.1">
<p>item 2-1</p>
</MenuItem>
<MenuItem index="item2.2" disabled>
<p>item 2</p>
</MenuItem>
</MenuGroup>
<SubMenu title={<p>third menu 0</p>}>
<MenuItem index="item1.1.1">
<p>item 1-1-1</p>
</MenuItem>
<MenuItem index="item1.1.2">
<p>item 1-1-2</p>
</MenuItem>
</SubMenu>
<SubMenu title={<p>third menu 2</p>}>
<MenuItem index="item1.2.1">
<p>item 1-2-1</p>
</MenuItem>
<MenuItem index="item1.2.2">
<p>item 1-2-2</p>
</MenuItem>
</SubMenu>
</SubMenu>
<MenuItem index="item3-disabled" disabled>
<p>item 3-disabled</p>
</MenuItem>
<MenuItem index="item3">
<p>item 3</p>
</MenuItem>
<SubMenu title={<p>sub menu 1</p>}>
<MenuItem index="item4">
<p>item 4</p>
</MenuItem>
<MenuItem index="item5">
<p>item 5</p>
</MenuItem>
<MenuGroup title={<p>group 4</p>}>
<MenuItem index="item8">
<p>item 8</p>
</MenuItem>
<MenuItem index="item9">
<p>item 9</p>
</MenuItem>
</MenuGroup>
<SubMenu title={<p>third menu</p>} active>
<MenuItem index="item6">
<p>item 6</p>
</MenuItem>
<MenuGroup title={<div>group 3</div>}>
<MenuItem index="item7">
<p>item 7</p>
</MenuItem>
</MenuGroup>
</SubMenu>
</SubMenu>
<MenuItem index="item10">
<a href="//braavos.me" target="_blank">落在深海</a>
</MenuItem>
</Menu>
)
}
export default class MenuDemo extends Component {
constructor(props){
super(props);
this.state = {
current: "item1.1",
};
}
render(){
return (
<ul style={{'minHeight': '3000px'}}>
<li>
<h3>Default menu</h3>
<br/>
{generateMenu()}
<br/>
<br/>
</li>
<li>
<h3>Menu with given current selected</h3>
<br/>
{generateMenu({current: this.state.current})}
<br/>
<br/>
</li>
<li>
<h3>Menu with onChange event</h3>
<br/>
{generateMenu({
onChange: value => alert(`selected menu item index is ${value}`)
})}
<br/>
<br/>
</li>
<li>
<h3>Accordion menu</h3>
<br/>
{generateMenu({ mode: 'accordion'})}
<br/>
<br/>
</li>
<li>
<h3>Horizontal menu</h3>
<br/>
{generateMenu({ mode: 'horizontal'})}
<br/>
</li>
<li>
<h3>Popup menu</h3>
<br/>
{generateMenu({ mode: 'popup'})}
<br/>
<br/>
</li>
</ul>
)
}
}