Skip to content

Commit c6aedf5

Browse files
committed
edit example
1 parent dded1a8 commit c6aedf5

File tree

2 files changed

+53
-6
lines changed

2 files changed

+53
-6
lines changed

example/index.js

Lines changed: 44 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,50 @@
1-
import React from 'react';
1+
import React, { Component } from 'react';
22
import { render } from 'react-dom';
33
import Dragresize from '../src/Dragresize';
44

5+
class Example extends Component {
6+
constructor(props) {
7+
super(props);
8+
this.state = {
9+
elmX: 10,
10+
elmY: 10,
11+
elmW: 150,
12+
elmH: 100,
13+
isChecked: false,
14+
};
15+
16+
this.change = (e) => {
17+
this.setState({ elmX: Number(e.target.value) });
18+
};
19+
}
20+
21+
render() {
22+
return (
23+
<div className="example">
24+
<input type="text" onChange={this.change} value={this.state.elmX} />
25+
<div>X: { this.state.elmX }</div>
26+
<div>Y: { this.state.elmY }</div>
27+
<div>W: { this.state.elmW }</div>
28+
<div>H: { this.state.elmH }</div>
29+
<a href="javascript:;" onClick={() => this.setState({ isChecked: !this.state.isChecked })}>
30+
{!this.state.isChecked ? '选中' : '取消'}
31+
</a>
32+
<Dragresize
33+
elmX={this.state.elmX}
34+
elmY={this.state.elmY}
35+
elmW={this.state.elmW}
36+
elmH={this.state.elmH}
37+
isChecked={this.state.isChecked}
38+
isRatio={false}
39+
onMouseMove={({ elmX, elmY }) => { this.setState({ elmX, elmY }); }}
40+
onResize={({ elmX, elmY, elmW, elmH }) => { this.setState({ elmX, elmY, elmW, elmH }); }}
41+
/>
42+
</div>
43+
);
44+
}
45+
}
46+
547
render(
6-
<Dragresize />,
48+
<Example />,
749
document.getElementById('dragresize')
850
);

src/Dragresize.jsx

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -170,6 +170,11 @@ class Dragresize extends Component {
170170
document.addEventListener('mouseup', this.mouseUp);
171171
}
172172

173+
componentWillReceiveProps(nextProps) {
174+
const { elmX, elmY, elmW, elmH } = nextProps;
175+
this.setState({ elmX, elmY, elmW, elmH });
176+
}
177+
173178
componentWillUnmount() {
174179
document.removeEventListener('mouseup', this.mouseUp);
175180
}
@@ -296,14 +301,14 @@ Dragresize.defaultProps = {
296301
isRatio: true,
297302
isChecked: true,
298303
dragScope: {
299-
minLeft: 10,
300-
minTop: 10,
304+
minLeft: null,
305+
minTop: null,
301306
maxLeft: 1000,
302307
maxTop: 600,
303308
},
304309
sizeScope: {
305-
minWidth: 30,
306-
minHeight: 30,
310+
minWidth: 10,
311+
minHeight: 10,
307312
maxWidth: null,
308313
maxHeight: null,
309314
},

0 commit comments

Comments
 (0)