lm-form
Version:
* 作者:liuduan * 邮箱:liuduan.05.05@163.com * 版本:**`1.0.2`**
50 lines (45 loc) • 1.46 kB
JavaScript
import React from 'react';
import PropTypes from 'prop-types';
import Radio from './radio';
const Radiogroup = props => {
const { data, checked, disabled, ...others } = props;
const renderRadio = (data) => {
let res;
if ('checked' in props) {
res = data.map((i, index) =>
<Radio
key={index}
label={i.label}
value={i.value}
checked={checked === `${i.value}`}
disabled={'disabled' in i ? i.disabled : disabled}
{...others} />)
} else {
res = data.map((i, index) =>
<Radio
key={index}
label={i.label}
value={i.value}
disabled={'disabled' in i ? i.disabled : disabled}
{...others} />)
}
return res;
}
return (
<div style={{ display: props.inline === false ? 'block' : 'flex', alignItems: 'center', flexWrap: 'wrap' }}>
{data.length
? renderRadio(data)
: null}
</div>
);
};
Radiogroup.propTypes = {
data: PropTypes.array.isRequired, // 数据
disabled: PropTypes.bool, // checkbox 禁用
checked: PropTypes.any // 单选选中值
};
Radiogroup.defaultProps = {
data: [],
disabled: false
};
export default Radiogroup;