Skip to content

Input

Поле для свободного ввода любых текстовых и числовых данных.

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

HTML

html
<ds-input
  id="input"
  placeholder="placeholder"
  token="map"
  icon="search"
  rounded
  clear
  error
  message="Я сообщение об ошибке!"
></ds-input>

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

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

React

js
import { useCallback } from 'react';
import { Input } 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 (
    <>
      <Input
        placeholder="placeholder"
        token="map"
        icon="search"
        rounded
        clear
        error
        message="Я сообщение об ошибке!"
        onInput={onInput}
      ></Input>
    </>
  );
}

export default Component;

API

Props

NameTypeDescriptionDefault
tokenString: ['default', 'map']Основной "тип" оформления поля ввода, два возможных значения'default'
sizeString: ['eluno', 'lanassa']Токен размера поля ввода'eluno'
valueStringАктуальный ввод''
placeholderStringПодсказка поля ввода''
messageStringТекст сообщения об ошибке''
iconStringИия иконки (без '_16' в конце)''
focusStringКлюч для получения полем ввода фокуса''
clearBooleanПоказывается ли "крестик" для быстрого удаления ввода?false
roundedBooleanСкругленное поле ввода?false
errorBooleanПоказывается ошибка?false
_errorundefined, String: ['true', 'false']Дублирующий литеральный атбрибутundefined
disabledBooleanНеактивная, "выключенная" кнопка?false
_disabledundefined, String: ['true', 'false']Дублирующий литеральный атбрибутundefined

Events

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

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

React

Angular

Vue