Radio
React Bootstrap 5 Radio component
A Radio Button is a component used to allow a user to make a single choice among a number of options (whereas Checkboxes are used for selecting multiple options).
Basic example
Browser default checkboxes and radios are replaced with the help of .form-check
,
a series of classes for both input types that improves the layout and behavior of their HTML
elements, that provide greater customization and cross browser consistency. Checkboxes are for
selecting one or several options in a list, while radios are for selecting one option from
many.
Structurally, our <input>
s and <label>
s are sibling
elements as opposed to an <input>
within a <label>
. This
is slightly more verbose as you must specify id
and for
attributes
to relate the <input>
and <label>
.
We use the sibling selector (~
) for all our <input>
states,
like :checked
or :disabled
. When combined with the
.form-check-label
class, we can easily style the text for each item based on the
<input>
's state.
import React from 'react';
import { MDBRadio } from 'mdb-react-ui-kit';
export default function App() {
return (
<div>
<MDBRadio name='flexRadioDefault' id='flexRadioDefault1' label='Default radio' />
<MDBRadio name='flexRadioDefault' id='flexRadioDefault2' label='Default checked radio' defaultChecked />
</div>
);
}
Disabled
Add the disabled
property and the associated <label>
s are
automatically styled to match with a lighter color to help indicate the input’s state.
import React from 'react';
import { MDBRadio } from 'mdb-react-ui-kit';
export default function App() {
return (
<div>
<MDBRadio id='flexRadioDisabled' disabled label='Disabled radio' />
<MDBRadio id='flexRadioCheckedDisabled' defaultChecked disabled label='Disabled checked radio' />
</div>
);
}
Inline
Group checkboxes or radios on the same horizontal row by adding
inline
property.
import React from 'react';
import { MDBRadio } from 'mdb-react-ui-kit';
export default function App() {
return (
<>
<MDBRadio name='inlineRadio' id='inlineRadio1' value='option1' label='1' inline />
<MDBRadio name='inlineRadio' id='inlineRadio2' value='option2' label='2' inline />
<MDBRadio name='inlineRadio' id='inlineRadio3' value='option3' label='3 (disabled)' disabled inline />
</>
);
}
Without labels
Omit the label
property for checkboxes and radios that have no label text.
Remember to still provide some form of label for assistive technologies (for instance, using
aria-label
).
import React from 'react';
import { MDBRadio } from 'mdb-react-ui-kit';
export default function App() {
return (
<div>
<MDBRadio name='radioNoLabel' id='radioNoLabell' value='' aria-label='...' />
<MDBRadio name='radioNoLabel' id='radioNoLabel2' value='' aria-label='...' />
</div>
);
}
Radio - API
Import
import { MDBRadio } from 'mdb-react-ui-kit';
Properties
MDBRadio
Name | Type | Default | Description | Example |
---|---|---|---|---|
btn
|
boolean | '' |
Makes a button from the MDBRadio |
<MDBRadio btn label="Example label" id="radioExample" />
|
btnColor
|
string | '' |
Allows to set the color of the button radio |
<MDBRadio btn btnColor="secondary" label="Example label" id="radioExample" />
|
checked
|
boolean | '' |
Defines whether the radio is checked |
<MDBRadio defaultChecked label="Example label" id="radioExample" />
|
defaultChecked
|
boolean | '' |
Makes the MDBRadio checked by default |
<MDBRadio defaultChecked label="Example label" id="radioExample" />
|
disabled
|
string | '' |
Makes the MDBRadio disabled |
<MDBRadio disabled label="Example label" id="radioExample" />
|
disableWrapper
|
boolean | false |
Disables input wrapper |
<MDBRadio disableWrapper />
|
id
|
string | '' |
Defines an id for the MDBRadio |
<MDBRadio label="Example label" id="inputExample" />
|
inline
|
boolean | '' |
Places the MDBRadio in one row |
<MDBRadio inline label="Example label" id="radioExample" />
|
inputRef
|
React.RefObject |
undefined |
Reference to input element |
<MDBRadio inputRef={inputReference} />
|
label
|
React.ReactNode | '' |
Defines a label content for the MDBRadio |
<MDBRadio label="Example label" id="inputExample" />
|
labelId
|
string | '' |
Defines an id for the label |
<MDBRadio label="Example label" labelId="exampleLabel" id="radioExample" />
|
labelClass
|
string | '' |
Adds custom classes to the label |
<MDBRadio label="Example label" labelId="exampleLabel" labelClass="test-class" id="radioExample" />
|
labelStyle
|
React.CSSProperties | undefined |
Adds custom styles to the label |
<MDBRadio label="Example label" labelStyle={{color: 'red'}} />
|
name
|
string | '' |
Specifies the name for the MDBRadio |
<MDBRadio name="sampleName" label="Example label" id="inputExample" />
|
value
|
string | '' |
Sets the value for the MDBRadio |
<MDBRadio value="Example value" label="Example label" id="inputExample" />
|
wrapperTag
|
string | '' |
Defines a tag type for the wrapper of the MDBRadio |
<MDBRadio label="Example label" wrapperTag="span" id="exampleID" />
|
wrapperClass
|
string | '' |
Adds custom classes to the wrapper of the MDBRadio |
<MDBRadio wrapperClass="custom-class" label="Example label" id="radioExample" />
|
wrapperStyle
|
React.CSSProperties | undefined |
Adds custom styles to the wrapper |
<MDBRadio label="Example label" wrapperStyle={{color: 'red'}} />
|