2017-10-23 2 views
-1

몇 가지 새로운 기능을 추가하여 기존 코드를 수정하려고했습니다. 기본적으로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)} 
      />; 
} 

무전기 모두 선택 취소 : 나는 변수 ACCREDITATION_TYPES에 따라 라디오 버튼의 설정 렌더이 기능을 가지고있다. 때이 기능을 해고되는 클릭 된 :

render() { 

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

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

어떻게 내가 초기 상태로 원하는 옵션을 선택할 수 있습니다 : 다음과 같이

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

형태는 렌더링? 지금은 두 가지 옵션 만 있지만, 5 가지가 있다면 어떻게 될까요? 또한 양식의 다른 요소 즉, 드롭 다운 메뉴 onChange 이벤트를 기반으로 라디오 선택을 조작 할 수 있습니까?

+0

질문을 묻기 위해 그냥 빼기가 되었습니까? –

답변

0

내가 물어 두 감점을 가지고 내 질문에 대답 하나는 루프에서 특정 라디오를 선택합니다 다음 this.props.handleFieldChange('id', 'radio_button_group_name', 'value_of_the_output_that_should_be_selected');

를 추가 할 필요가 생성자를.