Я использую пользовательскую директиву titleCase, но она не работает для последнего символа в строке при получении значения из ввода для его сохранения.
import { Directive, HostListener, ElementRef } from "@angular/core";
import { NgControl } from "@angular/forms";
import { TitleCasePipe } from "@angular/common";
@Directive({
selector: '[formControl], [formControlName]'
})
export class TitlecaseDirective {
constructor(
public ngControl: NgControl,
public elemetRef: ElementRef,
public titleCase: TitleCasePipe) {}
@HostListener('ngModelChange', ['$event'])
onInputChange(value) {
if (this.elemetRef.nativeElement.getAttribute('type') == 'text' && value && value !== '' && value.length > 0) {
const titleCaseStr = this.titleCase.transform(value);
this.ngControl.valueAccessor.writeValue(titleCaseStr);
}
}
}
Любая помощь приветствуется. Спасибо