2017-07-03 9 views
1

はReduxのフォームを反応させ、私は次のようしている: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

が、これらは、ラジオボタン、チェックボックスではないです... – AnnaSm

+1

あなたは '' 要素にコードを追加することはできますか? – sissonb

+0

@sissonbはブラウザでのレンダリング方法を意味しますか? – AnnaSm

答えて

1

は、クリックハンドラでこれを更新し、stateまたはpropにcheckedプロパティを設定します。 Stringに

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

変換値:

<Field 
      name="job_title_id" 
      component="input" 
      type="radio" 
      value={jobTitle.id.toString()} 
      /> 
関連する問題