Redux形成预填充数据

时间:2017-06-02 02:33:26

标签: reactjs react-jsx redux-form

我正在使用redux表单,在组件加载时我从api响应中获取文本字段的值,当我填充并提交这些值时因为我没有触及字段 - 我看到验证错误 - 就像它们是空的 - 如何将这些现有值传递给道具?

const emailValfromapi = this.props.data && this.props.data.email ? this.props.data.email : [];
    const { handleSubmit, fields: { email, abc, def, etc } } = this.props;
            <fieldset className="form-group">
                          <div className="input-wrapper">
                            <input value={emailValfromapi} id="email" {...email} type="email" className={email.touched && email.error ? 'error-red' : ''} required />
                            <label className="input-label" htmlFor="Email">To</label>
                            { email.touched && email.error && <div className="alert-danger"> { email.error } </div> }
                          </div>
                        </fieldset>

1 个答案:

答案 0 :(得分:3)

redux-form中,您不会自己传递输入值,而是使用the Field component来包装输入并让库处理数据绑定。在这种情况下,输入被填充,但redux-form不知道它的存在,因为它没有包含在Field组件中。这个例子为您提供了Field组件基本用法的简要说明。

此外,要将初始值传递给表单组件,您需要使用initialValues道具(最好由this example描述)。

希望这有帮助!