Textarea
Компонент для ввода многострочного текста. Поддерживает автоматическое изменение высоты в зависимости от содержимого и предоставляет удобный интерфейс для работы с текстовыми полями.
Режим работы
Компонент поддерживает работу как в неконтролируемом режиме, так и контролируемом. Это стандартное поведение React-компонентов, прочитать про это можно в документации React ↗.
Для использования неконтролируемого режима достаточно просто не передавать value
или передавать defaultValue
, если
требуется задать значение по умолчанию.
Для контролируемого режима используйте связку свойств value
/onChange
для задания значения и его изменения.
// Неконтролируемое состояние
<Textarea defaultValue="Текст" />;
// Контролируемое состояние
const [text, setText] = React.useState('Текст');
<Textarea value={text} onChange={(event) => setText(event.target.value)} />;
Состояния
disabled
Свойство disabled
позволяет пометить компонент, как недоступный для взаимодействия.
Валидация
Свойство status
используется для состояния валидации компонента - некорректности заполненного поля (значение "error"
)
или успешной валидации (значение "valid"
).
Доступность (a11y)
Компонент обеспечивает базовую доступность, используя нативный элемент <textarea>
,
поддерживая все стандартные HTML
- и aria
-атрибуты.
Для улучшения доступности рекомендуется использовать обёртку FormItem
для компонента Input
для
поддержки заголовка и описания поля.
Свойства и методы
Свойство | Описание |
---|---|
after | ReactNode Добавляет иконку справа. Рекомендации:
По умолчанию: - |
afterAlign | FieldIconsAlign Вертикальное выравнивание иконки справа. По умолчанию: - |
align | AlignType По умолчанию: - |
before | ReactNode Добавляет иконку слева. Рекомендации:
По умолчанию: - |
beforeAlign | FieldIconsAlign Вертикальное выравнивание иконки слева. По умолчанию: - |
defaultValue | string Значение по умолчанию. По умолчанию: - |
getRef | Ref<HTMLTextAreaElement> По умолчанию: - |
getRootRef | Ref<HTMLElement> По умолчанию: - |
grow | boolean Свойство управляющее автоматическим изменением высоты компонента. По умолчанию: true |
maxHeight | number Максимальная высота поля. По умолчанию: - |
mode | "default" | "plain" Режим отображения.
По умолчанию: - |
onResize | ((el: HTMLTextAreaElement) => void) Обработчик, срабатывающий при изменении размера компонента. По умолчанию: - |
status | "default" | "error" | "valid" Статус отображения поля в форме. По умолчанию: - |