redux-form - 有没有办法让 redux-form 忽略字段名称中的点?

标签 redux-form

我有一个restful api,它接受点分(路径)字符串作为参数键。

例如,我可以这样称呼:

/widgets?material.type=iron

所以我有一个像这样的 redux-form 字段:

<Field name="material.type" component={TextField} label="material type" />

但是 redux-form 会解释 material.type 中的点,并且当传递给我的处理程序时最终会变为 {material: {type: 'iron'}}

我明白为什么这是默认行为,但我想知道是否有一种简单的方法可以通过属性或类似的东西来阻止它 {'material.type': 'iron'} 改为?

最佳答案

这是不可能的。当名称包含点时,Redux Form 将始终将字段值嵌套在对象下 - 内部 _.toPath使用,并且它没有转义字符的方法。

您可以做的是在分配initialValues时重命名该值:

initialValues: {
  ...formData,
  materialType: formData['material.type']
}

...提交表单时:

onSubmit (values) {
  return submitSomehow({
    ...values,
    'material.type': values.materialType
  })
}

关于redux-form - 有没有办法让 redux-form 忽略字段名称中的点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47536618/

相关文章:

javascript - 如何在 Redux-form 6 中从一个字段转到下一个字段(不使用 TAB)?

javascript - Promise 一个 redux 表单 onSubmit 函数

reactjs - redux-form 多个复选框,单个数组中的值,没有 bool 值

javascript - Redux 形式 : how to handle errors in form component

javascript - redux-form 无法读取未定义的属性 'any'

javascript - 如何在react redux表单中成功创建帖子后刷新列表

material-ui - DatePicker(material-ui-picker) onChange 无法传值给redux-form onChange事件

reactjs - redux-form 字段值可以保存对象而不仅仅是字符串吗?

javascript - 不使用 redux 异步更新 redux 形式的初始值

reactjs - Redux表格: Set error to a field without submitting the form