-
Notifications
You must be signed in to change notification settings - Fork 16
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[BUG] @prizm-ui/components - PrizmInputComponent
with NgxMaskDirective
behaves incorrectly when changed from empty value
#1190
Comments
Еще подумал (в тему корректности использования Ведь в этом случае, к примеру при вызове |
PrizmInputComponent
with NgxMaskDirective
not marked as dirty when changed from empty valuePrizmInputComponent
with NgxMaskDirective
behaves incorrectly when changed from empty value
Та же цепочка событий приводит к тому что валидаторы запускаются после первого символа, даже если явно указать |
Можешь оформить пожалуйста отдельно? |
fix(components/input): refactor select, multi-select and fixed with update value #1190
…tComponent when NgxMaskDirective is applied and the value changes from an empty state. #1190
fix(components/input-text): incorrect behavior occurring in PrizmInputComponent when NgxMaskDirective is applied and the value changes from an empty state. #1190
fix(components/input): refactor select, multi-select and fixed with update value #1190
Библиотека
Выберите нужное отметив галочку [x]
@prizm-ui/core
@prizm-ui/components
@prizm-ui/install
@prizm-ui/icons
@prizm-ui/flag-icons
@prizm-ui/theme
@prizm-ui/charts
@prizm-ui/ast
@prizm-ui/nx-plugin
Компонент
PrizmInputComponent
Версия
Воспроизведение проблемы
https://stackblitz.com/edit/prizm-v3-input-with-mask?file=src%2Fapp%2Fapp.component.html
Описание проблемы
Сценарий - ограничение символов в поле ввода (числовое, или произвольное)
Есть проблема следующего характера:
При изменении значения
<input prizmInput mask="...">
с пустого на произвольное (т.е. первое изменение), это изменениеdirty
Результаты исследования
Дебаг выявил, что проблема появляется после попадания в следующий вызов
Как видим,
this.value
получает значение2
- значение из поля ввода, в то время как значение контрола еще не обновилось, это ведет к вызовуngControl.control.setValue
на строчкеPrizm/libs/components/src/lib/components/input/input-text/input-text.component.ts
Line 272 in fe630b6
тем самым обновляя значение
formControl
в обход стандартного потока значений - вызова колбэка зарегестрированного черезregisterOnChange
.Предлагаю:
FormControl.setValue
при апдейте значения в инпуте (и вообще) - это не верно, и такой функционал выходит за рамки данной директивы\компонента (предполагаю, что вызовupdateHint
является целью вызоваupdateValue
- можноupdateHint
вызвать напрямую)The text was updated successfully, but these errors were encountered: