2017-10-11 35 views
0

我想在FormSection中調度一個更改操作。ReduxForm:在FormSection中調度「更改」操作內部表單

目前我在myForm.jsx這樣做:下面這MyFormSection.jsx

<FormSection name="content"> 
    <MyFormSection sectionName="content" formName="PanelForm"/> 
</FormSection> 

import { change } from 'redux-form'; 

// my component... 

const mapDispatchToProps = (dispatch, props) => ({ 
    change: (name, value) => dispatch(change(props.formName, props.sectionName+"."+name, value)), 
}) 

我不喜歡傳下來的形式兩者的名稱表格和部分。

有沒有人有更好的方式來做到這一點?

回答

-1

如果你是一個終極版形式的輸入組件內可以使用this.props.input.onChange(value)

但如果你只是想創建一個函數在執行時的更改未在終極版表格使用的形式的價值現場組件,我認爲你正在做的是正確的方式。這是我剛剛做的另一個例子,所以你可以看到。這個功能通過道具傳遞給兒童表格,以一種非常具體的方式改變我的'嚮導'形式的值。

const mapDispatchToProps = (dispatch) => { 
    return { 
    changeFormAction: (fieldName, value): void => { 
     dispatch({ 
     type: '@@redux-form/CHANGE', 
     meta: { 
      form: 'wizard', 
      field: `styles.[${fieldName}]`, 
      touch: false, 
      persistentSubmitErrors: false 
     }, 
     payload: value 
     }) 
    } 
    } 
}