Лейбл в Input накладывается на поле ввода при нулевом значении value
Rinta01 opened this issue · comments
При передаче компоненту Input свойства value со значением 0 (number), label компонента накладывается на значение.
Ожидаемое поведение
При любом непустом значении value лейбл инпута должен "подниматься" наверх.
Актуальное поведение
Сейчас при значении value={0} лейбл "накладывается" поверх инпута.
Шаги для воспроизведения
Создать инпут, добавить ему свойство label (непустое) и value={0} (typeof === 'number')
Возможное решение
Переводить значение 0 в "0"
Окружение
- Используемая версия библиотеки: 12.9.4
- Имя и версия браузера: любая
- Имя и версия ОС: любая
Это не совсем баг, т.к. в типах указан
value?: string;
Разве ts не ругается? Думаю корректнее будет передать правильный тип
Логично было бы в value?: string;
добавить и number тип, поскольку сейчас при type="number" он ожидает в любом случае строку, можно обрабатывать на вход как и string, так и number, ну и проверку на null/undef/пустую строку
UPD. Посмотрел, из-за MaskedInput не представляется возможным, тогда остается передавать только строку. То, что IDE или редактор с поддержкой ts не подсказал о несоответствии типов - это странно, нужно смотреть у себя, что не так.