Skip to content

Commit 089fcb1

Browse files
committed
update Markdown
1 parent 08f224b commit 089fcb1

File tree

3 files changed

+27
-15
lines changed

3 files changed

+27
-15
lines changed

libs/markdown/canvas.js

Lines changed: 19 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -38,23 +38,27 @@ export default class Canvas extends Component {
3838
}
3939

4040
renderSource() {
41-
const div = this.refs.source;
41+
if (this.shouldUpdate) {
42+
const div = this.refs.source;
4243

43-
if (div instanceof HTMLElement) {
44-
const args = ['context', 'React'], argv = [this.props.context, React];
44+
if (div instanceof HTMLElement) {
45+
const args = ['context', 'React'], argv = [this.props.context, React];
4546

46-
const Element = require('../../src');
47+
const Element = require('../../src');
4748

48-
for (const key in Element) {
49-
args.push(key);
50-
argv.push(Element[key]);
51-
}
49+
for (const key in Element) {
50+
args.push(key);
51+
argv.push(Element[key]);
52+
}
5253

53-
args.push(this.component);
54+
args.push(this.component);
5455

55-
ReactDOM.unmountComponentAtNode(div);
56-
ReactDOM.render(new Function(...args).apply(null, argv), div);
56+
ReactDOM.unmountComponentAtNode(div);
57+
ReactDOM.render(new Function(...args).apply(null, argv), div);
58+
}
5759
}
60+
61+
delete this.shouldUpdate;
5862
}
5963

6064
render() {
@@ -70,10 +74,13 @@ export default class Canvas extends Component {
7074
code = `<div>${source[2]}</div>`
7175
}
7276

73-
this.component = transform(code.replace(/this/g, 'context'), {
77+
const component = transform(code.replace(/this/g, 'context'), {
7478
presets: ['es2015', 'react']
7579
}).code.replace(/React.createElement/, 'return React.createElement');
7680

81+
this.shouldUpdate = component != this.component || this.component === undefined;
82+
this.component = component;
83+
7784
return (
7885
<div className={`demo-block demo-box demo-${name}`}>
7986
<div className="source" ref="source"></div>

libs/transition/index.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,8 @@ export default class Transition extends Component {
99
transitionLeaveTimeout: Number(this.props.duration),
1010
component: this.props.component,
1111
className: this.props.className,
12-
style: this.props.style
12+
style: this.props.style,
13+
key: this.props.key
1314
}, React.Children.map(this.props.children, element => {
1415
return React.cloneElement(element, {
1516
key: Math.random().toString()

src/menu/SubMenu.jsx

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import React from 'react';
2-
import { Component, PropTypes, View } from '../../libs';
2+
import { Component, PropTypes, Transition, View } from '../../libs';
33

44
export default class SubMenu extends Component {
55
constructor(props) {
@@ -72,7 +72,11 @@ export default class SubMenu extends Component {
7272
})}>
7373
</i>
7474
</div>
75-
{ this.opened() && <ul className="el-menu">{this.props.children}</ul> }
75+
<Transition component="span" className="el-menu" style={{
76+
display: this.opened() ? 'block' : 'none'
77+
}} name={this.context.mode === 'horizontal' ? 'md-fade-bottom' : ''}>
78+
<ul>{this.props.children}</ul>
79+
</Transition>
7680
</li>
7781
)
7882
}

0 commit comments

Comments
 (0)