improve code style

This commit is contained in:
afc163 2016-06-10 15:29:01 +08:00
parent 8877fe599a
commit 82a55adfc7

View File

@ -1,4 +1,4 @@
import React from 'react'; import React, { Component, PropTypes } from 'react';
import classNames from 'classnames'; import classNames from 'classnames';
function fixControlledValue(value) { function fixControlledValue(value) {
@ -8,7 +8,7 @@ function fixControlledValue(value) {
return value; return value;
} }
export default class Input extends React.Component { export default class Input extends Component {
static defaultProps = { static defaultProps = {
defaultValue: '', defaultValue: '',
disabled: false, disabled: false,
@ -19,21 +19,21 @@ export default class Input extends React.Component {
} }
static propTypes = { static propTypes = {
type: React.PropTypes.string, type: PropTypes.string,
id: React.PropTypes.oneOfType([ id: PropTypes.oneOfType([
React.PropTypes.string, PropTypes.string,
React.PropTypes.number, PropTypes.number,
]), ]),
size: React.PropTypes.oneOf(['small', 'default', 'large']), size: PropTypes.oneOf(['small', 'default', 'large']),
disabled: React.PropTypes.bool, disabled: PropTypes.bool,
value: React.PropTypes.any, value: PropTypes.any,
defaultValue: React.PropTypes.any, defaultValue: PropTypes.any,
className: React.PropTypes.string, className: PropTypes.string,
addonBefore: React.PropTypes.node, addonBefore: PropTypes.node,
addonAfter: React.PropTypes.node, addonAfter: PropTypes.node,
prefixCls: React.PropTypes.string, prefixCls: PropTypes.string,
onPressEnter: React.PropTypes.func, onPressEnter: PropTypes.func,
onKeyDown: React.PropTypes.func, onKeyDown: PropTypes.func,
} }
handleKeyDown = (e) => { handleKeyDown = (e) => {
@ -87,7 +87,6 @@ export default class Input extends React.Component {
[props.className]: !!props.className, [props.className]: !!props.className,
}); });
let placeholder = props.placeholder;
if ('value' in props) { if ('value' in props) {
props.value = fixControlledValue(props.value); props.value = fixControlledValue(props.value);
// Input elements must be either controlled or uncontrolled, // Input elements must be either controlled or uncontrolled,
@ -98,14 +97,20 @@ export default class Input extends React.Component {
switch (props.type) { switch (props.type) {
case 'textarea': case 'textarea':
return ( return (
<textarea {...props} placeholder={placeholder} <textarea
className={inputClassName} onKeyDown={this.handleKeyDown} ref="input" {...props}
className={inputClassName}
onKeyDown={this.handleKeyDown}
ref="input"
/> />
); );
default: default:
return ( return (
<input {...props} placeholder={placeholder} <input
className={inputClassName} onKeyDown={this.handleKeyDown} ref="input" {...props}
className={inputClassName}
onKeyDown={this.handleKeyDown}
ref="input"
/> />
); );
} }