当前位置: 首页 > 面试题库 >

Redux表单defaultValue

董花蜂
2023-03-14
问题内容

如何设置defaultValue输入组件?

<Field name={`${prize}.rank`} defaultValue={index} component={Input} type='text'/>

我像上面一样尝试过,但是我的字段是空的。我正在尝试创建fieldArray(动态表单):

{fields.map((prize, index) =>
    <div key={index} className="fieldArray-container relative border-bottom" style={{paddingTop: 35}}>
        <small className="fieldArray-title marginBottom20">Prize {index + 1}
            <button
                type="button"
                title="Remove prize"
                className="btn btn-link absolute-link right"
                onClick={() => fields.remove(index)}>Delete</button>
        </small>
        <div className="row">
            <div className="col-xs-12 col-sm-6">
                <Field name={`${prize}.rank`}  defaultValue={index} component={Input} type='text'/>
                <Field name={`${prize}.prizeId`} defaultValue={index} component={Input} type='text'/>
                <Field
                    name={`${prize}.name`}
                    type="text"
                    component={Input}
                    label='Prize Name'/>
            </div>
            <div className="col-xs-12 col-sm-6">
                <Field
                    name={`${prize}.url`}
                    type="text"
                    component={Input}
                    label="Prize URL"/>
            </div>
            <div className="col-xs-12">
                <Field
                    name={`${prize}.description`}
                    type="text"
                    component={Input}
                    label="Prize Description" />
            </div>
        </div>
    </div>
)}

问题答案:

在redux表单上,您可以initialize()使用类似以下值的对象进行调用:

class MyForm extends Component {
  componentWillMount () {
    this.props.initialize({ name: 'your name' });
  }

  //if your data can be updated
  componentWillReceiveProps (nextProps) {
    if (/* nextProps changed in a way to reset default values */) {
      this.props.destroy();
      this.props.initialize({…});
    }
  }

  render () {
    return (
      <form>
       <Field name="name" component="…" />
      </form>
    );
  }
}

export default reduxForm({})(MyForm);

这样,您可以一遍又一遍地更新默认值,但是如果您只需要在第一时间进行更新,则可以:

export default reduxForm({values: {…}})(MyForm);


 类似资料:
  • 我不熟悉react和redux技术。现在开始构建一个包含多个redux表单的应用程序。我们希望提交带有值的简单表单。 例如:登录表单 用户名:文本输入字段 密码:文本输入字段 提交按钮 在字段中输入值并单击submit按钮后,我想在object或json数据中获取用户名和密码字段值。。这样我就可以用POST方法将它存储到我的服务器上。 现在我们正在使用handleSubmit(),但数据不是作为对

  • 在学习了一些Redux和react的教程后,我刚刚开始尝试react,但在控制台中出现了一个错误: 警告:不能给无状态函数组件提供refs(请参见登录创建的FieldGroup中的ref“username”)。访问此引用的尝试将失败。 将表单字段输入值传递给“提交”按钮的正确方法是什么?这些值应该进入redux存储吗?在阅读了文档:https://reactjs.org/docs/refs-and

  • 我有一个使用redux表单的注册React组件,我的onSubmit基本上发送一个异步操作。我正在尝试使用Ezyme和Jest测试我的组件,方法是向我的分派添加一个间谍,并检查是否在模拟表单提交时调用分派。然而,我的测试失败了。 这是我的注册redux表单组件: 这是我的测试: 我的测试失败,出现以下错误:expect(jest.fn())。ToHaveBeenCall()预期已调用模拟函数。 请

  • 我试图用redux-form用嵌套的优惠券代码/优惠券子表单制作结帐页面。 所以结账表单将包括,例如,国家选择,在这个表单中,我想添加一个子表单来应用优惠券。 用户需要能够在主结账表单中单独应用优惠券,以查看可能的折扣。 我明白我不能简单地嵌套ReduxForms。我不想创建2个单独的表单,因为我想在voucher字段下面显示可能的验证并提交常规结帐表单的错误。我可能可以对voucher字段使用a

  • 问题内容: 我正在尝试向redux-form添加第二个提交按钮。 这两个按钮都应调度一个保存数据的操作,但是应根据所按下的按钮将用户路由到其他页面。 因此,我定义了一个处理程序,该处理程序作为prop 传递给表单。 但据我所知,只有表单 数据 传递给此处理程序: 注意的文档: 传递给 或传递给的函数。它将运行同步和异步验证,并且,如果表单有效,它将使用表单数据的内容进行调用。 我所缺少的是一种还将

  • 问题内容: 我正在尝试创建一个redux表单(使用redux-form),该表单可以动态创建自己的输入。我在弄清楚如何使redux- form知道已创建的新字段时遇到麻烦。是否可以动态更改redux-form在表单组件本身中传递的字段属性?我在想这个错误吗?这是我正在使用的。 问题答案: 从Redux Form 6. *开始,您可以使用来实现您想做的事情 参见下面的示例(摘自Redux文档,略有简