在我的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表单文档中看到有关动态生成的单选按钮的任何内容。我做错了什么?
由于
答案 0 :(得分:6)
将值转换为String:
<Field
name="job_title_id"
component="input"
type="radio"
value={jobTitle.id.toString()}
/>
答案 1 :(得分:2)
将checked属性设置为state
或prop
,然后在点击处理程序中更新。
<Field
onClick={
() => {
this.setState((prevState) => {
return {isChecked: !prevState.isChecked};
});
}
}
name="job_title_id"
component="input"
type="radio"
checked={this.state.isChecked}
value={jobTitle.id}
/>