# Textarea [component-header:sl-textarea] Textareas collect data from the user and allow multiple lines of text. ```html preview ``` ```jsx react import { SlTextarea } from '@shoelace-style/shoelace/dist/react'; const App = () => ; ``` ?> This component works with standard `
` elements. Please refer to the section on [form controls](/getting-started/form-controls) to learn more about form submission and client-side validation. ## Examples ### Rows Use the `rows` attribute to change the number of text rows that get shown. ```html preview ``` ```jsx react import { SlTextarea } from '@shoelace-style/shoelace/dist/react'; const App = () => ; ``` ### Placeholders Use the `placeholder` attribute to add a placeholder. ```html preview ``` ```jsx react import { SlTextarea } from '@shoelace-style/shoelace/dist/react'; const App = () => ; ``` ### Filled Textareas Add the `filled` attribute to draw a filled textarea. ```html preview ``` ```jsx react import { SlTextarea } from '@shoelace-style/shoelace/dist/react'; const App = () => ; ``` ### Disabled Use the `disabled` attribute to disable a textarea. ```html preview ``` ```jsx react import { SlTextarea } from '@shoelace-style/shoelace/dist/react'; const App = () => ; ``` ### Sizes Use the `size` attribute to change a textarea's size. ```html preview

``` ```jsx react import { SlTextarea } from '@shoelace-style/shoelace/dist/react'; const App = () => ( <>

); ``` ### Labels Use the `label` attribute to give the textarea an accessible label. For labels that contain HTML, use the `label` slot instead. ```html preview ``` ```jsx react import { SlTextarea } from '@shoelace-style/shoelace/dist/react'; const App = () => ; ``` ### Help Text Add descriptive help text to a textarea with the `help-text` attribute. For help texts that contain HTML, use the `help-text` slot instead. ```html preview ``` ```jsx react import { SlTextarea } from '@shoelace-style/shoelace/dist/react'; const App = () => ; ``` ### Prevent Resizing By default, textareas can be resized vertically by the user. To prevent resizing, set the `resize` attribute to `none`. ```html preview ``` ```jsx react import { SlTextarea } from '@shoelace-style/shoelace/dist/react'; const App = () => ; ``` ### Expand with Content Textareas will automatically resize to expand to fit their content when `resize` is set to `auto`. ```html preview ``` ```jsx react import { SlTextarea } from '@shoelace-style/shoelace/dist/react'; const App = () => ; ``` [component-metadata:sl-textarea]