【问题标题】:Pre-filling Field tag in redux-form with text用文本预填充 redux-form 中的 Field 标签
【发布时间】:2016-10-25 16:26:51
【问题描述】:

我正在尝试使用作为道具传递的数据预填充字段标签。

这是 Field 标签现在的样子:

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

我添加了这个属性value={role.name},但它似乎没有设置值。谁能指出我正确的方向。

【问题讨论】:

  • placeholder 中,我尝试将 Role 替换为 {role.name},但效果很好我仍然想知道为什么它对 value 不起作用

标签: reactjs redux redux-form


【解决方案1】:

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

因此,您可以在组件挂载时读取初始化表单。

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

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

【讨论】:

  • 谢谢@Harkirat,我试试看。
【解决方案2】:

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

您需要在mapStateToProps 中设置initialValues,而不是向Field 标签 添加value 属性。方法如下:

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

如需进一步了解,可以结账:http://redux-form.com/6.0.0-alpha.4/examples/initializeFromState/

感谢您的贡献。

【讨论】:

    猜你喜欢
    • 2016-08-10
    • 1970-01-01
    • 1970-01-01
    • 2019-03-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-13
    相关资源
    最近更新 更多