как сделать так, чтоб при <input type="text"/>, FormControl к которому он был привязан хранил внутри себя число?
Изначально?
Можно через директиву. В ней читаешь значение и конвертишь его в число
Что неа
не работает, собственно говоря почему и вопрос, я на инпут написал и навесил директиву с хитрой валидацией полей, на выходе всегда получается число, поставить <input type="number"/> нельзя, так как у number инпута есть своя валидация и все ломается, если поставить text, все работает, но после того, как я делаю setValue в директиве, html превращает его снова в стринг, как-то так
Покажи как ты переписал значение через директиву
я ж пишу, через formControl делаю, через elementRef тоже не работает
import { Directive, OnInit } from '@angular/core'; import { NgControl } from '@angular/forms'; @Directive({ selector: '[calculatorsNumberPrepare]', }) export class CalculatorsNumberPrepareDirective implements OnInit { constructor(private ngControl: NgControl) {} ngOnInit(): void { this.ngControl.control?.valueChanges.subscribe(value => { this.ngControl.control?.setValue(value.replace(',', '.'), { emitEvent: false, }); }); } }
Обсуждают сегодня