我正在使用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>
答案 0 :(得分:3)
在redux-form
中,您不会自己传递输入值,而是使用the Field
component来包装输入并让库处理数据绑定。在这种情况下,输入被填充,但redux-form
不知道它的存在,因为它没有包含在Field
组件中。这个例子为您提供了Field
组件基本用法的简要说明。
此外,要将初始值传递给表单组件,您需要使用initialValues
道具(最好由this example描述)。
希望这有帮助!