Пользовательская директива titleCase не работает для последнего символа в строке Angular 7 - PullRequest
0 голосов
/ 10 апреля 2020

Я использую пользовательскую директиву 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);
          }
     }
}

Любая помощь приветствуется. Спасибо

...