import React from 'react'; import Radio from './Radio.js'; class RadioGroup extends React.Component { constructor(props) { super(props); this.radios = {}; } render() { let {name, disabled, title, options, value, className} = this.props; let dataTestId = this.props['data-test-id']; return (
{ title && }
{options.map(option => { let rName = name + '_' + option.value; return ( {this.radios[rName] = radio;}} data-test-id={dataTestId + '_' + option.value} key={rName} value={option.value} label={option.label} checked={value === option.value} disabled={disabled} name={name} onChange={() => this.onChange(rName)} /> );})}
); } onChange(rName) { let {onChange} = this.props; let val = this.radios[rName].getValue(); if (onChange) { onChange(val); } } getValue() { return this.props.value; } } export default RadioGroup;