2017-10-23 3 views
-1

私はいくつかの新しい機能を追加して既存のコードを修正しようとしています。 私は、変数ACCREDITATION_TYPESに基づいてラジオボタンのセットをレンダリングし、この機能を持っている:REACT.js初期ラジオ選択

createRadioCalibration(name) { 
    const { id, value, labels } = this.props; 
    const _t = this.props.intl.formatMessage; 

    const ACCREDITATION_TYPES = [ 
     [CALIBRATION_ACCREDITED, _t(messages.calibrationAccredited)], 
     [CALIBRATION_NOT_ACCREDITED, _t(messages.calibrationNotAccredited)] 
    ]; 

    return <FormChoiceGroup 
        type = "radio" 
        values = {ACCREDITATION_TYPES.map(mapValueArray)} 
        key = {`${id}_${name}`} 
        name = {`${id}_${name}`} 
        value = {value[name]} 
      handleChange = {this.handleFieldChangeFn(name)} 
      />; 
} 

デフォルトで無線がすべて未チェックです。クリックされたこの機能は気合されている場合:

handleFieldChangeFn(name) { 
    return (e) => { 
     const { handleFieldChange, id } = this.props; 
     handleFieldChange(id, name, e.target.value); 
    }; 
} 

次のようにフォームがレンダリングされます。

render() { 

    const FIELDS = { 
     [CALIBRATION]: this.createRadioCalibration(CALIBRATION), 
    }; 

    return (
     <div className=""> 
      <label>{_t(messages.calibration)}</label> 
      { FIELDS[CALIBRATION] } 

は、どのように私は、初期状態として、好きなオプションを選択することができますか?今のところ2つのオプションしかありませんが、5つがある場合はどうなりますか? また、フォームの他の要素、つまりドロップダウンメニューのonChangeイベントに基づいてラジオの選択を操作する方法はありますか? 1は、ループ内で特定のラジオを選択します次this.props.handleFieldChange('id', 'radio_button_group_name', 'value_of_the_output_that_should_be_selected');

を追加する必要があり、コンストラクタで:私の質問に答える

+0

私はちょうど質問をするためにマイナスを得ましたか? –

答えて

0

は私が尋ねるための2つのマイナスを得ました。

関連する問題