FormField

Компонент для создания полей ввода с возможностью добавления иконок и статусов, лежит в основе таких элементов форм, как Input, Select, Textarea, но может использоваться как база для пользовательских полей ввода.

Загружается...

Задаётся свойством mode.

  • "default" — стандартный режим отображения с фоном, обводкой и текстом-подсказкой;
  • "plain" — упрощенный режим, который показывает только текст-подсказку без фона и обводки.
Загружается...

В компоненте доступна возможность добавления дополнительного контента слева и/или справа от содержимого, задаётся свойством before и after соответственно. Наиболее частый вариант использования свойств before/after - иконки.

Придерживайтесь следующих рекомендаций:

  • используйте иконки следующих размеров: 12px, 16px, 20px, 24px и 28px;
  • для интерактивных иконок используйте компонент IconButton.
Загружается...

Для каждой иконки можно задать вертикальное выравнивание с помощью свойств:

  • beforeAlign — выравнивание левой иконки;
  • afterAlign — выравнивание правой иконки.

Доступные значения:

  • "center" — по центру (значение по умолчанию);
  • "start" — по верхнему краю;
  • "end" — по нижнему краю.
Загружается...

Свойство disabled блокирует взаимодействие с компонентом и добавляет визуальную индикацию недоступности.

Загружается...

Свойство status используется для визуализации валидации компонента - некорректности заполненного поля (значение "error") или успешной валидации (значение "valid").

Загружается...

FormField автоматически обрабатывает состояния фокуса и наведения, обеспечивая визуальную обратную связь для пользователей. Компонент поддерживает все стандартные HTML-атрибуты доступности.

При использовании FormField с полями ввода убедитесь, что:

  • у поля есть описание (используйте свойство top у FormItem или оборачивайте FormField в HTML-тэг label);
  • при наличии ошибок валидации или при необходимости подтверждения валидности, оставляйте пояснение (используйте свойство bottom у FormItem или воспользуйтесь aria-describedby).
СвойствоОписание
afterReactNode

Добавляет иконку справа.

Рекомендации:

  • Используйте следующие размеры иконок 12 | 16 | 20 | 24 | 28.
  • Используйте IconButton ↗, если вам нужна иконка, реагируюущая на нажатие.
По умолчанию: -
afterAlignFieldIconsAlign

Вертикальное выравнивание иконки справа.

По умолчанию: center
beforeReactNode

Добавляет иконку слева.

Рекомендации:

  • Используйте следующие размеры иконок 12 | 16 | 20 | 24 | 28.
  • Используйте IconButton ↗, если вам нужна иконка, реагирующая на нажатие.
По умолчанию: -
beforeAlignFieldIconsAlign

Вертикальное выравнивание иконки слева.

По умолчанию: center
ComponentElementType<any, keyof IntrinsicElements>
По умолчанию: span
disabledboolean

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

По умолчанию: -
getRootRefRef<HTMLElement>
По умолчанию: -
maxHeightnumber

Максимальная высота поля.

По умолчанию: -
mode"default" | "plain"

Режим отображения.

  • default — показывает фон, обводку и, при наличии, текст-подсказку.
  • plain — показывает только текст-подсказку.
По умолчанию: default
status"default" | "error" | "valid"

Статус отображения поля в форме.

По умолчанию: default