1.1.0 • Published 3 years ago

@pmwcs/radio v1.1.0

Weekly downloads
6
License
MIT
Repository
github
Last release
3 years ago

Radio Buttons

Radio buttons allow the user to select one option from a set. Use radio buttons for exclusive selection if you think that the user needs to see all available options side-by-side.

Controlled Usage

function Example() {
  const [value, setValue] = React.useState('cookies');

  return (
    <>
      <Radio
        value="cookies"
        checked={value === 'cookies'}
        onChange={evt => setValue(String(evt.currentTarget.value))}
      >
        Cookies
      </Radio>

      <Radio
        value="pizza"
        checked={value === 'pizza'}
        onChange={evt => setValue(String(evt.currentTarget.value))}
      >
        Pizza
      </Radio>

      <Radio
        value="icecream"
        checked={value === 'icecream'}
        onChange={evt => setValue(String(evt.currentTarget.value))}
      >
        Icecream
      </Radio>
    </>
  );
}

Uncontrolled Usage

You can use Radio Buttons and receive change events without having to manually set the checked prop. Just give the Radio components the same name. This example also shows using the label prop instead of setting the label as a child.

<>
  <Radio
    label="Cookies"
    value="cookies"
    name="myRadioGroup"
    onChange={evt => console.log(evt.currentTarget.value)}
  />

  <Radio
    label="Pizza"
    value="pizza"
    name="myRadioGroup"
    onChange={evt => console.log(evt.currentTarget.value)}
  />

  <Radio
    label="Icecream"
    value="icecream"
    name="myRadioGroup"
    onChange={evt => console.log(evt.currentTarget.value)}
  />
</>

Radio

A Radio button component.

Props

NameTypeDescription
checkedundefined \| false \| trueToggle the control on and off.
disabledundefined \| false \| trueDisables the control.
foundationRefReact.Ref<MDCRadioFoundation>Advanced: A reference to the MDCFoundation.
idundefined \| stringA DOM ID for the toggle.
inputRefReact.Ref<HTMLInputElement>A reference to the native input.
labelReact.ReactNodeA label for the control.
rippleRipplePropTAdds a ripple effect to the component
rootPropsReact.HTMLProps<any>By default, all props except className and style spread to the input. These are additional props for the root of the checkbox.
valuestring \| number \| string[]The value of the control.