create Radio

This commit is contained in:
Владислав Чикалкин 2020-09-04 10:07:41 +03:00
parent 7ce486ff08
commit 6f376af9c3

View File

@ -0,0 +1,31 @@
import { Radio as AntRadio } from 'antd';
import { useOptions } from 'client/hooks/useOptions';
import { useStatus } from 'client/hooks/useStatus';
import { useStoreValue } from 'client/hooks/useStoreValue';
import { Status } from 'core/types/elements';
import { observer } from 'mobx-react';
import React from 'react';
const Radio = ({ name, buttonStyle, computedValue, valueName }) => {
const { value, setCurrentValue } = useStoreValue({
computedValue,
valueName,
});
const { status } = useStatus(name);
const { options } = useOptions(name);
return (
<AntRadio.Group
disabled={status === Status.Disabled}
buttonStyle={buttonStyle}
value={value}
onChange={(e) => setCurrentValue(e.target.value)}
>
{options.map((option, i) => (
<AntRadio.Button value={option.value}>{option.name}</AntRadio.Button>
))}
</AntRadio.Group>
);
};
export default observer(Radio);