【问题标题】:Redux Form, Radio Button Fields, how to support variable values?Redux Form,Radio Button Fields,如何支持变量值?
【发布时间】:2017-12-07 06:50:33
【问题描述】:

在我的 react redux 表单中,我有以下内容:

        <fieldset className="form-group">
          <legend>Radio buttons</legend>
          {this.props.job_titles.map(jobTitle => (
          <div className="form-check" key={jobTitle.id}>
            <label className="form-check-label">
              <Field
                name="job_title_id"
                component="input"
                type="radio"
                value={jobTitle.id}
              />
              {' '}
              {jobTitle.title}
            </label>
          </div>
          ))}
        </fieldset>

这会正确呈现单选按钮,但是当您单击选择单选按钮时,单选按钮永远不会设置为选中状态。您无法选择选项 - 表单已损坏。

奇怪的是,如果我将 value={jobTitle.id} 更新为 value="anything" 则可以选择单选按钮。

我在 redux 表单文档中没有看到任何关于动态生成的单选按钮的内容。我做错了什么?

谢谢

【问题讨论】:

标签: reactjs redux redux-form react-redux-form


【解决方案1】:

将值转换为字符串:

<Field
            name="job_title_id"
            component="input"
            type="radio"
            value={jobTitle.id.toString()}
          />

【讨论】:

    【解决方案2】:

    将选中的属性设置为stateprop,然后在点击处理程序中更新它。

    <Field
        onClick={
            () => {
                this.setState((prevState) => {
                    return {isChecked: !prevState.isChecked};
                });
            }
        }
        name="job_title_id"
        component="input"
        type="radio"
        checked={this.state.isChecked}
        value={jobTitle.id}
    />
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-09-14
      • 1970-01-01
      • 1970-01-01
      • 2017-08-22
      • 1970-01-01
      • 2015-09-30
      • 1970-01-01
      相关资源
      最近更新 更多