2017-07-28 135 views
0

我试图在包含至少一个字符以显示必填字段为有效时在我的输入旁边显示“嘀嗒”。我遇到的问题是,当我每次更改字段时,我都会收到一个包含所有键入字母而不是完整字符串的对象。如果我在“你好”,例如日志中查找此类型(忽略未定义):Redux Form - 以字符串形式返回当前输入值onChange

enter image description here

这里是我的终极版字段组件:

handleInput = (textEntered) => { 
    console.log(textEntered); 
    this.setState({ textEntered },() => { 
    if (this.state.textEntered.length) { 
     this.setState({ completed: true }); 
    } else { 
     this.setState({ completed: false }); 
    } 
    }); 
} 

render() { 
    return (
    <Field 
     name={this.props.placeholderText} 
     component={TextInput} 
     onChange={this.handleInput} 
    /> 
); 
} 

const TextInput = (field) => { 
    return (
    <div className="drill-creation-input"> 
     <input 
     {...field.input} 
     type="input" 
     onChange={e => field.input.onChange(e.target.value)} 
     /> 

     <label htmlFor={field.input.name}> 
     <span>{field.input.name}</span> 
     </label> 
    </div> 
); 
}; 

回答

0

onChange处理具有以下特征(见docs

onChange : (event, newValue, previousValue) 

所以要阅读完整的价值,只是定义你的handleInput,如:

handleInput = (evnt, textEntered) => { 
    console.log(textEntered); 
    ... 
} 
相关问题