我使用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 defaultValue
中TextField
的问题相同。这是在redux-form-material-ui中的预期行为吗?如果是这样,我是否可以在不设置状态的情况下解决此问题?
谢谢!
答案 0 :(得分:0)
Haven没有使用redux-form-material-ui,但尝试将enableReinitialize: true
添加到reduxForm
装饰器
export default reduxForm({
form: 'test-form',
validate,
enableReinitialize: true
})(ReduxForm);
看看是否有效。