Unstyled input
The Input component provides users with a field to enter and edit text.
Features:
- ✨ Supports start and end adornments
- 🚀 Can be transformed to
<textarea>using themultilineprop - ♿️ Adds the appropriate ARIA roles automatically
Basic input
import InputUnstyled from '@mui/base/InputUnstyled';
Adornments
You can use the startAdornment and endAdornment props to add a prefix, suffix, or an action to an input.
Common use cases of adornments include:
- when an input receives a specific unit of measure (like kilograms or currency)
- when an icon button toggles hiding/showing a password
kg
<CustomInput aria-label="Demo input" multiline placeholder="Type something…" />If you want the <textarea> to grow with the content, you can use the TextareaAutosize component.
When using TextareaAutosize, the height of the <textarea> element dynamically matches its content, unless the rows prop is set.
To set minimum and maximum sizes, add the minRows and maxRows props.
<CustomInput aria-label="Demo input" multiline placeholder="Type something…" />The useInput hook
import { useInput } from '@mui/base/InputUnstyled';
The useInput hook lets you use the functionality of InputUnstyled in other components.
It returns props to be placed on a custom input and root elements, along with fields representing the internal state of the input.