2016-11-21 61 views
0

我正在使用redux-form-material-ui的形式。我有兩個文本字段的簡單形式。此表單將顯示傳遞給它的initalValues,用戶還可以更新TextField的值。這些TextField工作正常與驗證和所有,但我在重新呈現時遇到問題。在路由更改時,我將不同的intialValues傳遞給該表單組件,但即使傳遞了適當的值,TextFields也不會更新。它只是顯示第一次通過initialValues。TextField沒有得到更新與不同intialValues重新渲染

這裏是我的代碼:

從父組件:

<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) 

我知道,這是同樣的問題defaultValue材料的UI的TextField 。這種預期的行爲在還原形式材料ui中嗎?如果是這樣,有沒有辦法解決這個問題,而無需設置狀態和全部?

謝謝!

回答

0

沒有使用終極版型材料的UI,但嘗試添加enableReinitialize: truereduxForm裝飾

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

,看看是否有效。