我正在尝试在输入旁边显示一个'tick',当它包含至少1个字符以显示必填字段为有效时。我遇到的问题是,当我每次更改字段console.log(textEntered)
时,我会收到一个包含所有类型字母而不是完整字符串的对象。如果我输入'hello',例如日志看起来像这样(忽略未定义):
这是我的Redux Field Component:
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 :(得分:1)
OnChange处理程序具有以下签名(请参阅docs)
onChange : (event, newValue, previousValue)
因此,要阅读完整的值,只需定义handleInput
,如:
handleInput = (evnt, textEntered) => {
console.log(textEntered);
...
}