SubmittingButton.js
1.4 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
import React,{PropTypes} from 'react';
import ReactDOM from 'react-dom';
import cx from 'classnames';
import s from './buttons.scss';
class SubmittingButton extends React.Component {
constructor(props) {
super(props);
this.clickBtn=this.clickBtn.bind(this);
}
static propTypes = {
lable:PropTypes.string,
onClick:PropTypes.func,
submitting:PropTypes.bool,
block:PropTypes.bool
}
static defaultProps={
lable:'',
block:false,
submitting:false,
onClick:()=>{
}
}
clickBtn(){
const {submitting,onClick}=this.props;
if(!submitting)
onClick();
}
componentDidMount(){
}
componentWillReceiveProps(nextProps){
}
componentDidUpdate(prevProps,prevState){
}
componentWillUnmount() {
}
render(){
const {lable,submitting,block}=this.props;
const blockStyle=block?{width:'100%'}:{null};
return (
<a className={cx(s.success_btn,submitting?s.disabled:null)} style={blockStyle} onClick={this.clickBtn} >
{lable}
{submitting?<i style={{width:'20px'}} className={cx('kr_icon','kr_icon-spin')}></i>:<i style={{width:'20px'}} className={cx('kr_icon')}></i>}
</a>
)
}
}
export default SubmittingButton;