Перейти до вмісту
tatetUI

Textarea

Багаторядкове поле з опційним автоматичним ростом під вміст.

Автоматичний ріст

Росте до восьми рядків, далі з'являється власна прокрутка.

61 / 280

API

Props

НазваТипТиповоОпис
rowsnumber4Кількість видимих рядків у згорнутому стані.
maxRowsnumber12Стеля висоти в рядках для `autoresize`.
modelValuestringЗначення поля. Використовуйте через `v-model`.
namestring
maxLengthnumberМаксимальна кількість символів. Передається як нативний `maxlength`.
errorstringТекст помилки. Його наявність вмикає стан помилки.
hintstringПідказка під полем. Ховається, коли показано помилку.
labelstring
placeholderstring
idstringСтабільний DOM id. `name` використовується лише для форми.
inputClassstringДодаткові класи на сам `<textarea>`. Звичайний `class` осідає на кореневому `<div>` разом із лейблом і текстом помилки — це правильно для відступів, але не дає, скажімо, зробити поле моноширинним. Цей проп цілить саме в поле.
showCountbooleanfalseПоказувати лічильник символів. Працює разом із `maxLength`.
requiredboolean
disabledboolean
readonlyboolean
autoresizebooleanАвтоматично росте під вміст замість власної прокрутки. Обмежене `maxRows`: без стелі довгий текст виштовхує кнопку «Надіслати» за межі екрана.

Події

НазваPayloadОпис
update:modelValue[value: string]Зміна значення.
focus[event: FocusEvent]Поле отримало фокус.
blur[event: FocusEvent]Поле втратило фокус.

Доступно через ref

НазваТипОпис
focus() => voidСтавить фокус на поле.

Коли використовувати

Для тексту, довжина якого наперед невідома: опис, коментар, повідомлення.

autoresize доречний там, де поле — головний елемент екрана (поле вводу чату). У щільній формі фіксована висота передбачуваніша.

Для полів із лімітом задайте maxLength і showCount: браузер не дасть ввести зайве, а користувач бачитиме лічильник поточна / максимальна.

Коли НЕ використовувати

Не вмикайте autoresize без стелі. Довгий текст виштовхне кнопку «Надіслати» за межі екрана — типово maxRows дорівнює 12.

Доступність

Висота перераховується у два кроки: спершу скидається в auto, і лише потім читається scrollHeight. Без скидання поле росло б при видаленні тексту так само, як при додаванні, бо scrollHeight ніколи не зменшується сам.

Поле має рівно один активний опис: помилка має пріоритет над підказкою, підказка — над лічильником. Видима помилка оголошується через role="alert".