alfa-laboratory / arui-feather

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Лейбл в Input накладывается на поле ввода при нулевом значении value

Rinta01 opened this issue · comments

commented

При передаче компоненту Input свойства value со значением 0 (number), label компонента накладывается на значение.

Ожидаемое поведение

При любом непустом значении value лейбл инпута должен "подниматься" наверх.

Актуальное поведение

Сейчас при значении value={0} лейбл "накладывается" поверх инпута.
image

Шаги для воспроизведения

Создать инпут, добавить ему свойство label (непустое) и value={0} (typeof === 'number')

Возможное решение

Переводить значение 0 в "0"

Окружение

  • Используемая версия библиотеки: 12.9.4
  • Имя и версия браузера: любая
  • Имя и версия ОС: любая

Это не совсем баг, т.к. в типах указан

value?: string;

Разве ts не ругается? Думаю корректнее будет передать правильный тип

commented

Логично было бы в value?: string; добавить и number тип, поскольку сейчас при type="number" он ожидает в любом случае строку, можно обрабатывать на вход как и string, так и number, ну и проверку на null/undef/пустую строку

UPD. Посмотрел, из-за MaskedInput не представляется возможным, тогда остается передавать только строку. То, что IDE или редактор с поддержкой ts не подсказал о несоответствии типов - это странно, нужно смотреть у себя, что не так.