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

时间:2015-12-02 06:20:16

标签: reactjs redux

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

我想要的是:点击某个位置后,在我的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})
  }
}

它还没有用......但即使它有效,我觉得这有点像黑客。

有更好的解决方案吗?

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

2 个答案:

答案 0 :(得分:7)

Redux Form 6

使用props

在表单组件内部
<div class="content">

  <div class="matter">

    <p class="header">Movie Mania</p>
    <div class="regis">

      <form class="reg">

        <input type="text" name="user" id="movie" placeholder="Please enter 
        any movie name" size="40">
        <hr>
        <div><input type="submit" class="button" value="Search" id="sub" onclick="return validation()" /></div>

    </div>
  </div>
</div>

</form>

使用Action Creators

在表单组件外部
this.props.change('field_name', 'value')

答案 1 :(得分:3)

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