Input fields
React Bootstrap 5 Input fields component
Input fields refer specifically to the text input fields, which are used to obtain data from the users.
Basic example
A basic example of the input field consists of the input element with specified
ID and label element connected via this ID with the
input. Both elements are wrapped in .form-outline class which provides a material
design look.
import React from 'react';
import { MDBInput } from 'mdb-react-ui-kit';
export default function App() {
return (
<MDBInput label='Example label' id='form1' type='text' />
);
}
Sizing
Set heights using properties like size="lg" and
size="sm".
import React from 'react';
import { MDBInput } from 'mdb-react-ui-kit';
export default function App() {
return (
<div style={{ width: '23rem' }}>
<MDBInput label='Form control lg' id='formControlLg' type='text' size='lg' />
<br />
<MDBInput label='Form control default' id='formControlDefault' type='text' />
<br />
<MDBInput label='Form control sm' id='formControlSm' type='text' size='sm' />
</div>
);
}
Disabled
Add the disabled boolean property on an input to give it a grayed out appearance
and remove pointer events.
import React from 'react';
import { MDBInput } from 'mdb-react-ui-kit';
export default function App() {
return (
<MDBInput label='Disabled' id='formControlDisabled' type='text' disabled />
);
}
Readonly
Add the readonly boolean property on an input to prevent modification of the
input’s value. Read-only inputs appear lighter (just like disabled inputs), but retain the
standard cursor.
import React from 'react';
import { MDBInput } from 'mdb-react-ui-kit';
export default function App() {
return (
<MDBInput
label='Readonly'
placeholder='Readonly input here...'
id='formControlReadOnly'
type='text'
readonly
/>
);
}
Types
Input types let you specified what data users should provide and help you validate it.
Text
The input type="text" defines a single-line text field.
import React from 'react';
import { MDBInput } from 'mdb-react-ui-kit';
export default function App() {
return (
<MDBInput label='Text input' id='typeText' type='text' />
);
}
The input field type="email" defines the email address field. The input value is automatically validated to ensure that it is a properly formatted email address.
import React from 'react';
import { MDBInput } from 'mdb-react-ui-kit';
export default function App() {
return (
<MDBInput label='Email input' id='typeEmail' type='email' />
);
}
Password
The input field type="password" defines a password field, thus hiding characters as confidential information.
import React from 'react';
import { MDBInput } from 'mdb-react-ui-kit';
export default function App() {
return (
<MDBInput label='Password input' id='typePassword' type='password' />
);
}
Number
The input type="number" defines field for entering a number
import React from 'react';
import { MDBInput } from 'mdb-react-ui-kit';
export default function App() {
return (
<MDBInput label='Number input' id='typeNumber' type='number' />
);
}
Phone number
The input type="tel" defines a field for entering a telephone number.
import React from 'react';
import { MDBInput } from 'mdb-react-ui-kit';
export default function App() {
return (
<MDBInput label='Phone number input' id='typePhone' type='tel' />
);
}
URL
The input type="url" defines a field for entering a URL.
import React from 'react';
import { MDBInput } from 'mdb-react-ui-kit';
export default function App() {
return (
<MDBInput label='URL input' id='typeURL' type='url' />
);
}
Textarea
The textarea tag defines a multi-line text input control.
import React from 'react';
import { MDBTextArea } from 'mdb-react-ui-kit';
export default function App() {
return (
<MDBTextArea label='Message' id='textAreaExample' rows={4} />
);
}
Text
Block-level or inline-level form text can be created using .form-text.
Associating form text with form controls
Form text should be explicitly associated with the form control it relates to using the
aria-describedby attribute. This will ensure that assistive technologies—such as
screen readers—will announce this form text when the user focuses or enters the control.
Form text below inputs can be styled with .form-text. If a block-level element
will be used, a top margin is added for easy spacing from the inputs above.
import React from 'react';
import { MDBInput } from 'mdb-react-ui-kit';
export default function App() {
return (
<div style={{ width: '22rem' }}>
<MDBInput label='Example label' id='formTextExample1' type='text' aria-describedby='textExample1' />
<div id='textExample1' className='form-text'>
We'll never share your email with anyone else.
</div>
</div>
);
}
Inline text can use any typical inline HTML element (be it a <span>,
<small>, or something else) with nothing more than the
.form-text class.
import React from 'react';
import { MDBInput } from 'mdb-react-ui-kit';
export default function App() {
return (
<div>
<div className='row g-3 align-items-center'>
<MDBInput
wrapperClass='col-auto'
label='Password'
type='text'
id='formTextExample2'
aria-describedby='textExample2'
/>
<div className='col-auto'>
<span id='textExample2' className='form-text'>
Must be 8-20 characters long.
</span>
</div>
</div>
</div>
);
}
Dark background
When placing an input on the dark background add contrast property to provide proper contrast.
import React from 'react';
import { MDBInput } from 'mdb-react-ui-kit';
export default function App() {
return (
<MDBInput label='Example label' type='text' id='formWhite' contrast />
);
}
Input fields - API
Import
import { MDBInput, MDBTextArea } from 'mdb-react-ui-kit';
Properties
MDBInput
| Name | Type | Default | Description | Example |
|---|---|---|---|---|
className
|
string | '' |
Add custom class to the MDBInput |
<MDBInput className="class" type="text" id="inputExample" />
|
contrast
|
boolean | '' |
Sets the dark background for the MDBInput |
<MDBInput contrast type="text" id="inputExample" />
|
defaultValue
|
string | '' |
Default value of the input |
<MDBInput defaultValue='test' />
|
disabled
|
string | '' |
Makes the MDBInput disabled |
<MDBInput disabled type="text" id="inputExample" />
|
id
|
string | '' |
Defines an id for the MDBInput |
<MDBInput type="text" id="inputExample" />
|
inputRef
|
React.RefObject |
undefined |
Reference to input element |
<MDBInput inputRef={inputReference} />
|
label
|
React.ReactNode | '' |
Defines a label text for the MDBInput |
<MDBInput label="Example label" type="text" id="inputExample" />
|
labelId
|
string | '' |
Defines an id for the label |
<MDBInput label="Example label" labelId="exampleLabel" type="text" id="inputExample" />
|
labelClass
|
string | '' |
Adds custom classes to the label |
<MDBInput label="Example label" labelId="exampleLabel" labelClass="test-class" type="text" id="inputExample" />
|
labelStyle
|
React.CSSProperties | undefined |
Adds custom styles to the label |
<MDBInput label="Example label" labelStyle={{color: 'red'}} />
|
name
|
string | '' |
Specifies the name for the MDBInput |
<MDBInput name="sampleName" type="text" id="inputExample" />
|
readonly
|
boolean | false |
Makes the MDBInput read only |
<MDBInput readonly type="text" id="inputExample" />
|
size
|
string | '' |
Sets the size of the MDBInput |
<MDBInput size="lg" type="text" id="inputExample" />
|
value
|
string | '' |
Sets the value for the MDBInput |
<MDBInput value="Example value" type="text" id="inputExample" />
|
wrapperTag
|
string | '' |
Defines a tag type for the wrapper of the MDBInput |
<MDBInput wrapperTag="span" id="exampleID" type="text" id="inputExample" />
|
wrapperClass
|
string | '' |
Adds custom classes to the wrapper of the MDBInput |
<MDBInput wrapperClass="custom-class" type="text" id="inputExample" />
|
wrapperStyle
|
React.CSSProperties | undefined |
Adds custom styles to the wrapper |
<MDBInput label="Example label" wrapperStyle={{color: 'red'}} />
|
MDBTextArea
| Name | Type | Default | Description | Example |
|---|---|---|---|---|
cols
|
number | undefined |
Textarea cols number |
<MDBTextArea cols={3} />
|
rows
|
number | undefined |
Textarea rows number |
<MDBTextArea rows={3} />
|