UNPKG

2.25 kBJavaScriptView Raw
1
2import { Con, Row, Col } from 'bee-layout';
3import { Panel } from 'bee-panel';
4import Button from 'bee-button';
5import React, { Component } from 'react';
6import ReactDOM from 'react-dom';
7import Label from '../src';
8
9
10const CARET = <i className="uf uf-arrow-down"></i>;
11
12const CARETUP = <i className="uf uf-arrow-up"></i>;
13
14
15/**
16 *
17 *
18 */
19class Demo1 extends Component {
20 render () {
21 return (
22 <Label>control label</Label>
23 )
24 }
25}var DemoArray = [{"example":<Demo1 />,"title":"Demo1","code":"/**\n * \n * \n */\nclass Demo1 extends Component {\n\trender () {\n\t\treturn (\n\t\t\t<Label>control label</Label> \n\t\t)\n\t}\n}","desc":""}]
26
27
28class Demo extends Component {
29 constructor(props){
30 super(props);
31 this.state = {
32 open: false
33 }
34 this.handleClick = this.handleClick.bind(this);
35 }
36 handleClick() {
37 this.setState({ open: !this.state.open })
38 }
39
40 render () {
41 const { title, example, code, desc } = this.props;
42 let caret = this.state.open ? CARETUP : CARET;
43 let text = this.state.open ? "隐藏代码" : "查看代码";
44
45 const footer = (
46 <Button shape="block" onClick={ this.handleClick }>
47 { caret }
48 { text }
49 </Button>
50 );
51 return (
52 <Col md={12}>
53 <h3>{ title }</h3>
54 <p>{ desc }</p>
55 <Panel collapsible expanded={ this.state.open } colors='bordered' header={ example } footer={footer} footerStyle = {{padding: 0,borderColor: "transparent"}} >
56 <pre><code className="hljs javascript">{ code }</code></pre>
57 </Panel>
58 </Col>
59 )
60 }
61}
62
63class DemoGroup extends Component {
64 constructor(props){
65 super(props)
66 }
67 render () {
68 return (
69 <Row>
70 {DemoArray.map((child,index) => {
71
72 return (
73 <Demo example= {child.example} title= {child.title} code= {child.code} desc= {child.desc} key= {index}/>
74 )
75
76 })}
77 </Row>
78 )
79 }
80}
81
82ReactDOM.render(<DemoGroup/>, document.getElementById('tinperBeeDemo'));