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

时间:2017-11-28 16:38:25

标签: redux-form

我有一个宁静的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'}

1 个答案:

答案 0 :(得分:0)

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

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

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

...并在提交表格时:

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