首次提交后与Redux-Form值进行反应选择



i已与Redux-form集成了反应选择(Multi(。如果您选择一个值并提交,则可以工作。但是,如果您需要再次提交表单(即。

<Field
  ref={ref => this.refTest = ref}
  className = "form-control"
  name="categories"
  options={
    this.state.categories.map(c => {
      return { value: c.id, label: c.categoryName };
    })
  }
  onBlur={this.onBlur}
  component={multiSelect}
/>

多选择性正在使用此组件:

export const multiSelect = (field) => {
console.log(field);
return(
  <div>
    <Select
      name={field.name}
      {...field.input}
      className="section"
      multi={true}
      options={field.options}>
    </Select>
    {field.meta.touched && field.meta.error &&
    <label id="basic-error" className="validation-error-label">This field is required.</label>}
  </div>
);
};

无论我做什么,第二个"提交"点击始终在"类别"中具有不确定的数组。

经过一些严重的调试 - 这是由于我如何执行handeritialise((。Reduxform期望值数组为特定格式,特别是:

[{value: "1", label: "Test"}, ...]

任何经历"未定义"价值观的人要仔细注意您的设置和检索价值。在两种情况下,避免突变对象,因为我认为这会导致某些奇怪的行为。

最新更新