Skip to content

Textarea

Поле ввода для длинного текста.

Использование

HTML

html
<ds-textarea
  id="textarea"
  placeholder="placeholder"
  rows="5"
  error
  message="Я сообщение об ошибке!"
></ds-textarea>

<script>
    // Демонстрация получения ввода на элементе
    const textarea = document.getElementById('textarea');
    if (textarea) {
      textarea.addEventListener('input', (e) => {
        console.log('Ввод:', e.target?.getAttribute('value'));
      });
    }

    // Демонстрация использования ключа для установки фокуса
    setTimeout(() => {
      const textarea = document.getElementById('textarea');
      if (textarea) input.setAttribute('focus', '1');
    }, 1000);
</script>

React

js
import { useCallback } from 'react';
import { Textarea } from '@rir/ds-library';

function Component() { 
  const onInput = useCallback((e: Event) => {
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-expect-error
    console.log('Ввод в поле: ', e.target?.getAttribute('value'));
  }, []);

  return (
    <>
      <Textarea
        rows={5}
        placeholder="placeholder"
        error
        message="Я сообщение об ошибке!"
        onInput={onInput}
      ></Textarea>
    </>
  );
}

export default Component;

API

Props

NameTypeDescriptionDefault
rowsNumberКоличество строк в поле ввода3
valueStringАктуальный ввод''
placeholderStringПодсказка поля ввода''
messageStringТекст сообщения об ошибке''
focusStringКлюч для получения полем ввода фокуса''
errorBooleanПоказывается ошибка?false
_errorundefined, String: ['true', 'false']Дублирующий литеральный атбрибутundefined
disabledBooleanНеактивная, "выключенная" кнопка?false
_disabledundefined, String: ['true', 'false']Дублирующий литеральный атбрибутundefined

Events

NameDescription
inputСобытие на ввод
focusСобытие на получение фокуса
blurСобытие на потерю фокуса

Примеры проектов

React

Angular

Vue