Textarea
Textarea — многострочное текстовое поле. Готовый контрол, собранный на Field: сам одевает нативный textarea в оболочку с лейблом, текстом ошибки и кнопкой «Очистить» и пробрасывает пропсы Field (label, error, iconLeft, iconRight). Значение — контролируемая модель: пара value / onValueChange (onValueChange отдаёт уже строку, не событие). rows задаёт стартовую высоту в строках текста, дальше поле тянется пользователем за уголок (resize по вертикали). clearable добавляет кнопку очистки, когда значение непустое. Для однострочного ввода используется Input.
Использует: Field
Используется в: TextareaField
Анатомия
Примеры
Кнопка очистки
clearable рисует справа кнопку «Очистить»: она появляется только при непустом значении и по клику сбрасывает value в пустую строку через onValueChange. Логику «показывать при непустом» Textarea берёт на себя — достаточно передать флаг.
Высота
rows пробрасывается в нативный textarea и задаёт стартовую высоту в строках текста. Это только начальный размер — поле остаётся растягиваемым по вертикали.
Ошибка
Непустой error помечает поле как invalid (красная рамка) и рисует текст ошибки под ним. Обычно error приходит из валидатора формы: пусто — поле в норме, есть строка — показывается ошибка.
API
| Prop | Type | Default |
|---|---|---|
valueЗначение текстареа (контролируемая модель) | string | - |
onValueChangeВызывается при изменении значения | (value: string) => void | - |
placeholderПлейсхолдер текстареа | string | - |
rowsКоличество видимых строк текста | number | - |
clearableПоказывать кнопку «Очистить» при непустом значении | boolean | - |
sizeРазмер компонента | Size | - |
radiusСкругление углов: circle — «таблетка» | Radius | - |
labelТекст лейбла над контролом | ReactNode | - |
errorТекст ошибки под контролом; при наличии поле помечается как invalid | ReactNode | - |
iconLeftДекоративная иконка слева внутри контрола | Icon | - |
iconRightДекоративная иконка справа внутри контрола | Icon | - |
invalidПомечает поле ошибочным: контрол получает | FieldArkRootProps["invalid"] | - |
disabledОтключает поле: контрол внутри становится недоступен | FieldArkRootProps["disabled"] | - |
requiredПомечает поле обязательным | FieldArkRootProps["required"] | - |
readOnlyЗначение видно, но изменить его нельзя | FieldArkRootProps["readOnly"] | - |
Наследуется от Pick<VisualProps, K>, Omit<FieldRootProps, "children">