redux-form -- 通过代码为字段设置值?

redux-form -- Set Value for a field via code?

我正在为我的表单创建自定义组件。

我想要的:点击某个位置后,在我的onClick处理程序中,我可以为表单字段设置相应的值。

怎么做?

我目前的解决方案:

_onClick(value, evt) {
  const {field, dispatch} = this.props
  if(dispatch){
    dispatch({type: "redux-form/CHANGE", field: field.name, value: value, touch: false, form: field.form})
  }
}

它还行不通..但即使它行得通,我也觉得这有点 hack。

有更好的解决方案吗?

注意:我也在 redux-form 的问题页面上问过这个问题:https://github.com/erikras/redux-form/issues/369

问题已解决。原来我应该让我的组件兼容Redux-Form,参考:http://erikras.github.io/redux-form/#/faq/custom-component?_k=qnjmi9

Redux 形式 6

在表单组件内部使用 props

this.props.change('field_name', 'value')

在表单组件外使用 Action Creators

import { change } from 'redux-form'

dispatch(change('form_name', 'field_name', 'value'))