使用不同的intialValues

时间:2016-11-21 13:49:48

标签: material-ui redux-form

我使用redux-form-material-ui表单。我有两个文本字段的简单形式。此表单将显示传递给它的initalValues,用户还可以更新TextField的值。这些TextField在验证时工作正常,但在重新渲染时我只能面对问题。在路由更改时,我将不同的intialValues传递给该表单组件,但即使传递了适当的值,TextField也不会更新。它只显示第一次传递initialValues。

这是我的代码:

来自父组件:

<ReduxForm {...initialValues} />

ReduxForm组件:

 class ReduxForm extends React.Component {
  render () {
    return (
      <div>
        <form onSubmit={() => console.log('Submitted')} >
          <Field
            className='input-field'
            name='name'
            component={TextField}
            floatingLabelText='Full Name'
          />
         <Field
           className='input-field'
           name='email'
           component={TextField}
           floatingLabelText='Email'
         />
        </form>
      </div>
   )
 }
}

export default reduxForm({
  form: 'test-form',
  validate
})(ReduxForm)

我知道,这与材料-ui defaultValueTextField的问题相同。这是在redux-form-material-ui中的预期行为吗?如果是这样,我是否可以在不设置状态的情况下解决此问题?

谢谢!

1 个答案:

答案 0 :(得分:0)

Haven没有使用redux-form-material-ui,但尝试将enableReinitialize: true添加到reduxForm装饰器

export default reduxForm({
  form: 'test-form',
  validate,
  enableReinitialize: true
})(ReduxForm);

看看是否有效。