опцией updateOn? и как его подружить вообще с масками, типа ngx-mask ? чтоб нормально форма валидировалась при этом
ControlValueAccessor ?
да, контрол создан через него
https://stackoverflow.com/questions/58606860/how-to-access-updateon-option-inside-custom-implementation-of-controlvalueacce Вместо вызова writeValue на изменение значения вызывайте на (blur)
https://stackoverflow.com/questions/53935844/passing-ngmodeloptions-through-from-a-custom-component-to-a-contained-native-e там важное замечание
Не совсем понял как это (
Смотрите вторую ссылку, что я сбросил: updateOn работает с onTouched колбеком
пробую, но что то ничего вразумительного не получается
Там ссылка на стакблитц, посмотрите, все работает отлично В примерах внутри ngModel использовалась ngModel, что тот еще рофл, но можно и просто cva сделать
ага, вроде получилось… маска все ломала… с обычным значением действительно
а не подскажите еще как маски по нормальному накрутить на кастомный инпут? т.к. тоже не работают как ожидается
Как проверку перед изменением значения. (change)="setValue($value)" setValue(value: string) { if (!this.mask || new Regex(this.mask).test(value)) { this.value = value; this.onChangeCb(value) } } P.s. хотя тут скорее всего придется не бинидить [value], а напрямую работать с HtmlElement setValue(value: string) { if (!this.mask || new Regex(this.mask).test(value)) { this.inputRef.value = value; this.onChangeCb(value) } else { this.inputRef.value = this.previousValue; } }
ага, понятно… это как я понял на случай если просто со своей регуляркой сверяться? а если что то вроде использования штук таких как ngx-mask ? их можно нормально подружить с кастмными контролами чтоб использовать их апи?
А пес его знает, к счастью это не моя проблема :)
Как вариант - заинжектить @Optional mask?: NgxMask и вызывать его методы при необходимости
Спасибо за помощь, я попробую
Обсуждают сегодня