Redux 表单 - Return 当前输入值作为字符串 onChange
Redux Form - Return current input value as string onChange
当输入至少包含 1 个字符以显示必填字段有效时,我试图在输入旁边显示 'tick'。我遇到的问题是,目前当我 console.log(textEntered)
每次字段更改时,我都会收到一个包含所有键入字母而不是完整字符串的对象。例如,如果我输入 'hello',日志看起来是这样的(忽略未定义的):
这是我的 Redux 字段组件:
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>
);
};
OnChange 处理程序具有以下签名(参见 docs)
onChange : (event, newValue, previousValue)
所以要读取完整的值,只需像这样定义您的 handleInput
:
handleInput = (evnt, textEntered) => {
console.log(textEntered);
...
}
当输入至少包含 1 个字符以显示必填字段有效时,我试图在输入旁边显示 'tick'。我遇到的问题是,目前当我 console.log(textEntered)
每次字段更改时,我都会收到一个包含所有键入字母而不是完整字符串的对象。例如,如果我输入 'hello',日志看起来是这样的(忽略未定义的):
这是我的 Redux 字段组件:
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>
);
};
OnChange 处理程序具有以下签名(参见 docs)
onChange : (event, newValue, previousValue)
所以要读取完整的值,只需像这样定义您的 handleInput
:
handleInput = (evnt, textEntered) => {
console.log(textEntered);
...
}