Redux Form - 将当前输入值作为字符串onChange返回

时间:2017-07-28 12:07:58

标签: reactjs redux-form

我正在尝试在输入旁边显示一个'tick',当它包含至少1个字符以显示必填字段为有效时。我遇到的问题是,当我每次更改字段console.log(textEntered)时,我会收到一个包含所有类型字母而不是完整字符串的对象。如果我输入'hello',例如日志看起来像这样(忽略未定义):

enter image description here

这是我的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>
  );
};

1 个答案:

答案 0 :(得分:1)

OnChange处理程序具有以下签名(请参阅docs

onChange : (event, newValue, previousValue)

因此,要阅读完整的值,只需定义handleInput,如:

handleInput = (evnt, textEntered) => {
  console.log(textEntered);
  ...
}