UNPKG

@mui/material

Version:

Material UI is an open-source React component library that implements Google's Material Design. It's comprehensive and can be used in production out of the box.

118 lines (82 loc) • 2.94 kB
--- productId: material-ui title: Textarea Autosize React component components: TextareaAutosize githubLabel: 'component: TextareaAutosize' --- # Textarea Autosize The Textarea Autosize component automatically adjusts its height to match the length of the content within. {{"component": "@mui/internal-core-docs/ComponentLinkHeader", "design": false}} ## Introduction Textarea Autosize is a utility component that replaces the native `<textarea>` HTML. Its height automatically adjusts as a response to keyboard inputs and window resizing events. By default, an empty Textarea Autosize component renders as a single row, as shown in the following demo: ```tsx import TextareaAutosize from '@mui/material/TextareaAutosize'; export default function EmptyTextarea() { return ( <TextareaAutosize aria-label="empty textarea" placeholder="Empty" style={{ width: 200 }} /> ); } ``` ## Basics ### Import ```jsx import TextareaAutosize from '@mui/material/TextareaAutosize'; ``` ### Minimum height Use the `minRows` prop to define the minimum height of the component: ```tsx import TextareaAutosize from '@mui/material/TextareaAutosize'; export default function MinHeightTextarea() { return ( <TextareaAutosize aria-label="minimum height" minRows={3} placeholder="Minimum 3 rows" style={{ width: 200 }} /> ); } ``` ### Maximum height Use the `maxRows` prop to define the maximum height of the component: ```tsx import TextareaAutosize from '@mui/material/TextareaAutosize'; export default function MaxHeightTextarea() { return ( <TextareaAutosize maxRows={4} aria-label="maximum height" placeholder="Maximum 4 rows" defaultValue="Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua." style={{ width: 200 }} /> ); } ``` # TextareaAutosize API ## Demos For examples and details on the usage of this React component, visit the component demo pages: - [Textarea Autosize](https://mui.com/material-ui/react-textarea-autosize/) ## Import ```jsx import TextareaAutosize from '@mui/material/TextareaAutosize'; // or import { TextareaAutosize } from '@mui/material'; ``` ## Props | Name | Type | Default | Required | Description | |------|------|---------|----------|-------------| | maxRows | `number \| string` | - | No | | | minRows | `number \| string` | `1` | No | | > **Note**: The `ref` is forwarded to the root element. > Any other props supplied will be provided to the root element (native element). ## Source code If you did not find the information on this page, consider having a look at the implementation of the component for more detail. - [/packages/mui-material/src/TextareaAutosize/TextareaAutosize.tsx](https://github.com/mui/material-ui/tree/HEAD/packages/mui-material/src/TextareaAutosize/TextareaAutosize.tsx)