Skip to content

CdsCounter

New in v4.0

Счётчик показывает, сколько символов уже введено и сколько разрешено: 42 / 100. Когда значение превышает максимум, счётчик краснеет — пользователь видит проблему до отправки формы.

Storybook GitLab
Покрытие тестами: 100% — хорошее покрытие
API в спеках
6 / 6 пропсы, события, слоты и exposed, у которых есть тест
Тест-кейсы
12 юнит · 0 браузерных
Покрытие кода
100% строк · 100% ветвей замер v4.0.0-alpha.13
A11y (axe)
нарушений нет в 4 историях замер v4.0.0-alpha.11

В готовых полях счётчик уже встроен — включите проп counter у CdsTextInput или CdsTextArea. Отдельный CdsCounter нужен, когда вы собираете свой контрол.

Вариации ​

Значение и максимум ​

Свойство value задаёт текущее число, max — предел. Без max счётчик показывает одно число, с max — дробь. Как только value больше max, текст становится красным.

Sandbox Storybook

Появление ​

Счётчик виден только при active — по умолчанию он скрыт. Появление и скрытие анимируются, анимацию задаёт проп transition.

Sandbox Storybook

Слот ​

Слот default заменяет текст счётчика и получает value, max и готовую строку counter.

Sandbox Storybook

Сценарии использования ​

Лимит символов у поля ​

Слот details у поля ввода — место для счётчика рядом с сообщениями. Длину значения считайте сами и передавайте в value: когда текст перерастёт лимит, счётчик покраснеет.

Sandbox Storybook

API ​

Пропсы

ИмяТипПо умолчаниюОписание
activeboolean | undefined—Активное состояние
disabledboolean | null | undefinednullЗаблокированное состояние
maxstring | number | undefined—Максимальное значение
transitionstring | boolean | (TransitionProps & { component?: Component | undefined; }) | { component: Component; } | null | undefined{ component: slide-transition-y }Анимация перехода
valuestring | number | undefined0Значение счетчика

Слоты

ИмяТипОписание
defaultCdsCounterSlotСобственный вид счётчика. В параметрах — готовая строка счётчика, текущее и максимальное количество символов