ReduxForm:调度'更改' FormSection中的表单内的动作

时间:2017-10-11 14:16:36

标签: reactjs redux redux-form

我想在FormSection中发送更改操作。

目前我在myForm.jsx中执行此操作:

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

在MyFormSection.jsx

之后
import {  change } from 'redux-form';

// my component...

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

我不想在表单中传递表单名称和部分。

有人会有更好的方法吗?

1 个答案:

答案 0 :(得分:-1)

如果您在Redux-Form Input组件中,可以使用this.props.input.onChange(value)

但是如果你只是想创建一个函数,当执行该函数时,改变了Redux-Form Field Component中没有使用的表单的值,我认为你正在以正确的方式进行。这是我做的另一个例子,你可以看到。这个函数通过props传递给子表单,用于以“向导”形式更改值的一种非常具体的方式。

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