import { RadioButton } from '@megafon/ui-core';
<RadioButton value="not-checked-value" isChecked={false}>Not checked</RadioButton> <RadioButton value="checked-value" isChecked>Checked</RadioButton> <RadioButton value="disabled-value" disabled>Disabled</RadioButton> <RadioButton value="disabled-value" isChecked disabled>Disabled</RadioButton>
<RadioButton value="not-checked-value" isChecked={false} color={'light'}> Not checked </RadioButton> <RadioButton value="checked-value" isChecked color={'light'}> Checked </RadioButton> <RadioButton value="disabled-value" disabled color={'light'}> Disabled </RadioButton> <RadioButton value="disabled-value" isChecked disabled color={'light'}> Disabled </RadioButton>
<DemoRadioButtonWrapper> {({ onChange, selectedOption }) => ( <> <RadioButton value="value-1" isChecked={selectedOption === 'value-1'} onChange={onChange}> First radio button </RadioButton> <RadioButton value="value-2" isChecked={selectedOption === 'value-2'} onChange={onChange}> Second radio button </RadioButton> </> )} </DemoRadioButtonWrapper>
Код DemoRadioButtonWrapperexport const DemoRadioButtonWrapper = ({ children }) => {const [selectedOption, setSelectedOption] = React.useState('');const handleChange = value => {setSelectedOption(value);};return (<><p style={{ textAlign: 'center', marginTop: 0 }}><b>Value:</b> "{selectedOption || undefined}"</p><div style={flexStyle}>{children({onChange: handleChange,selectedOption: selectedOption,})}</div></>);};
<DemoRadioButtonWrapper> {({ onChange, selectedOption }) => ( <> <RadioButton value="value-1" name="group-1" onChange={onChange}> First radio button </RadioButton> <RadioButton value="value-2" name="group-1" onChange={onChange}> Second radio button </RadioButton> </> )} </DemoRadioButtonWrapper>
Код DemoRadioButtonWrapperexport const DemoRadioButtonWrapper = ({ children }) => {const [selectedOption, setSelectedOption] = React.useState('');const handleChange = value => {setSelectedOption(value);};return (<><p style={{ textAlign: 'center', marginTop: 0 }}><b>Value:</b> "{selectedOption || undefined}"</p><div style={flexStyle}>{children({onChange: handleChange,selectedOption: selectedOption,})}</div></>);};
<RadioButton name="group-2" value="value-1" textSize="small"> Маленький размер </RadioButton> <RadioButton name="group-2" value="value-2" textSize="medium"> Средний размер </RadioButton>
Prop name | Type | Default | Description |
---|---|---|---|
color | "light" | "dark" | undefined | dark | Тема кнопки |
value* | string | Значение | |
name | string | undefined | Имя для тега form | |
textSize | "small" | "medium" | undefined | medium | Размер текста лейбла |
disabled | boolean | undefined | false | Отключение радио-кнопки |
isChecked | boolean | undefined | Управление состоянием вкл/выкл компонента | |
className | string | string[] | undefined | Дополнительный класс корневого элемента | |
classes | { root?: string | undefined; label?: string | undefined; customInput?: string | undefined; labelText?: string | undefined; } | undefined | {} | Дополнительные классы для корневого и внутренних элементов |
dataAttrs | { root?: Record<string, string> | undefined; input?: Record<string, string> | undefined; text?: Record<string, string> | undefined; } | undefined | Дополнительные data атрибуты к внутренним элементам | |
onChange | ((value: string) => void) | undefined | Обработчик изменения значения 'value' | |
inputRef | Ref<HTMLInputElement> | undefined | Ссылка на input |