Изменение формата даты angular 6

Я пытаюсь изменить свой формат выбора даты angular mat, поэтому я использовал метод изменения при вводе, формат значения даты успешно печатается в консоли, но я не могу перейти к значению в контроллере реактивной формы, кто-нибудь поможет мне, что я сделал неправильно . Я хочу выглядеть в таком формате: ДД / ММ / ГГ

Мой HTML-код:

             <mat-form-field>
                <input formControlName="dob" matInput [matDatepicker]="picker" 
                (ngModelChange)="changefunction($event)" placeholder="Date Of Birth">
                <mat-datepicker-toggle matSuffix [for]="picker"></mat-datepicker-toggle>
                <mat-datepicker #picker></mat-datepicker>
              </mat-form-field>


        Component code: 


            this.addmember = new FormGroup({
              "PatientFamilyMember" : new FormArray ([
               "dob" : new FormControl('')
             ]);
          });

  changefunction(i) {
    const momentDate = new Date(i); // Replace event.value with your date value
    const formattedDate = _moment(momentDate).format("MM-DD-YYYY");
    this.formatdate = formattedDate
    console.log(this.formatdate);
  }

Дата успешно печатается в журнале консоли, но как передать дату в контроллер формы?

Попробуйте указать [(ngModel)] = "varName", а затем в файле .ts установите значение для этой переменной.

Minu 31.10.2018 20:39
1
1
834
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вам не нужно менять формат даты здесь, в "ngModelChange" ... Сделайте это после нажатия кнопки отправки ... А иначе вы пробовали patchValue?

this.yourFormName.get("dob").patchValue(this.formatdate);

Другие вопросы по теме