PasswordField.js
1.6 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
55
56
57
58
59
60
import React,{PropTypes} from 'react';
import ReactDOM from 'react-dom';
import cx from 'classnames';
import s from './reduxfields.scss';
class PasswordField extends React.Component {
constructor(props) {
super(props);
this.validationState=this.validationState.bind(this);
}
static propTypes = {
field:PropTypes.object,
onChange:PropTypes.func,
onKeyUp:PropTypes.func,
placeholder:PropTypes.string
}
static defaultProps={
placeholder:''
}
validationState(field){
// console.log('进入验证')
if(field.error&&field.touched){
console.log('1')
return 'error';
}else if(field.touched){
console.log('2')
return null;
}else{
console.log('3')
return null;
}
}
componentDidMount(){
}
componentWillReceiveProps(nextProps){
}
componentDidUpdate(prevProps,prevState){
}
componentWillUnmount() {
}
render(){
const {field,onChange,placeholder,onKeyUp}=this.props;
// console.log('验证的field',field)
// console.log('验证的field.touched',field.touched)
// console.log('验证的field.error',field.error)
return (
<div >
<input type="password" onKeyUp={onKeyUp} onChange={field.onChange} placeholder={placeholder} value={field.value} />
<div>{field.touched?field.error:''}</div>
</div>
)
}
}
export default PasswordField;