使用文本以redux形式预填充字段标记

时间:2016-10-25 16:26:51

标签: reactjs redux redux-form

我正在尝试预填充一个Field标记,数据作为道具传递。

以下是Field标记的样子:

    <Field
      name="name"
      type="text"
      label="Role name"
      placeholder="Role"
      value={role.name}
      component={BSFieldInput}
   />

我添加了此属性value={role.name},但似乎没有设置值。任何人都可以指出我正确的方向。

2 个答案:

答案 0 :(得分:0)

Redux Form将一个名为initialize的函数传递给您的组件,该组件连接到redux表单。

因此,您可以在组件安装时阅读初始化表单。

componentDidMount(){
  const { initialize} = this.props
  const obj = {
   'name' : '//value'   //the key is same as your field name
  }
  initialize(obj)
}

您可以阅读redux-form-docs了解详情。

答案 1 :(得分:0)

我已经解决了我之前发布的问题。

您需要在mapStateToProps中设置initialValues,而不是将属性添加到字段标记。方法如下:

const mapStateToprops = (state, ownProps) => {
   return {
     initialValues: ownProps.role
   }
}

为了进一步了解,您可以结帐:http://redux-form.com/6.0.0-alpha.4/examples/initializeFromState/

感谢您的贡献。