react-ui-component
Version:
some component build with ReactJs
150 lines (144 loc) • 5.29 kB
JSX
import React, { Component } from 'react';
import {SlideMenu} from './index.js';
export default class SlideMenuDemo extends Component {
constructor(props){
super(props);
}
handleClose(){
return confirm('close slide?')
}
handleOpenSlide(ref){
const node = this.refs[ref]
node.open()
}
render() {
let contentNode = <div style={{'padding': '20px'}}>
<h4>this is header</h4>
<p>this is content, where have something here, fill in</p>
<a href="http://braavos.me" target="_blank">blog</a>
</div>;
return (
<div>
<h3>Slide menu</h3>
<pre>
<code>onClose need a return value(Boolean), to decide whether close slide menu</code>
</pre>
<ol>
<li>
<h4>Default slidemenu</h4>
<button onClick={this.handleOpenSlide.bind(this, 'slide0')}>click</button>
<SlideMenu ref="slide0" >
{contentNode}
</SlideMenu>
<pre>
<code>
{`
<button onClick={this.refs.slide.open}>click</button>
<SlideMenu ref="slide">
...
</SlideMenu>
`}
</code>
</pre>
</li>
<li>
<h4>slide menu with position</h4>
<button onClick={this.handleOpenSlide.bind(this, 'slide1')}>click</button>
<SlideMenu position="left" ref="slide1" >
{contentNode}
</SlideMenu>
<pre>
<code>
{`
<SlideMenu position="left" ref="slide">
...
</SlideMenu>
`}
</code>
</pre>
<button onClick={this.handleOpenSlide.bind(this, 'slide2')}>click</button>
<SlideMenu position="right" ref="slide2" >
{contentNode}
</SlideMenu>
<pre>
<code>
{`
<SlideMenu position="right" ref="slide">
...
</SlideMenu>
`}
</code>
</pre>
<button onClick={this.handleOpenSlide.bind(this, 'slide3')}>click</button>
<SlideMenu position="top" ref="slide3" >
{contentNode}
</SlideMenu>
<pre>
<code>
{`
<SlideMenu position="top" ref="slide">
...
</SlideMenu>
`}
</code>
</pre>
<button onClick={this.handleOpenSlide.bind(this, 'slide4')}>click</button>
<SlideMenu position="bottom" ref="slide4" >
{contentNode}
</SlideMenu>
<pre>
<code>
{`
<SlideMenu position="bottom" ref="slide">
...
</SlideMenu>
`}
</code>
</pre>
</li>
<li>
<h4>Width</h4>
<button onClick={this.handleOpenSlide.bind(this, 'slide5')}>click</button>
<SlideMenu ref="slide5" width={500}>
{contentNode}
<h4 style={{'textAlign': 'center'}}>width: 500px</h4>
</SlideMenu>
<pre>
<code>
{`
<SlideMenu ref="slide" width={500}>
...
</SlideMenu>
`}
</code>
</pre>
</li>
<li>
<h4>Close slidemenu action</h4>
<button onClick={this.handleOpenSlide.bind(this, 'slide6')}>click</button>
<SlideMenu ref="slide6" onClose={this.handleClose.bind(this)}>
{contentNode}
<div style={{'padding': '10px'}}>
<h3>
<button onClick={() => {this.refs.slide6.close()}}>
Click to close
</button>
</h3>
</div>
</SlideMenu>
<pre>
<code>
{`
<SlideMenu ref="slide" onClose={closeFunc}>
...
<button onClick={this.refs.slide.close}>click to close</button>
</SlideMenu>
`}
</code>
</pre>
</li>
</ol>
</div>
);
}
}