Входы не привязаны к FormControls с тем же FormControlName - PullRequest
0 голосов
/ 26 апреля 2019

В настоящее время я сталкиваюсь с проблемой, когда шаблон не привязывается к элементам управления формы, которые разделяют имя, удаляя условную логику для проверок работоспособности.

Что я пробовал: проверка орфографии, различные вызовы конструктора FormControl, удаление условной логики для проверок работоспособности.

Файл TypeScript:


  @Input() repairForm: FormGroup;
  .
  .
  .
  ngOnInit() {
    this.isAuthorized = this.authService.isAuthorized;

    if(this.isAuthorized){
      this.repairForm.addControl('customerNumber', new FormControl('',))
      this.repairForm.addControl('originDate', new FormControl('',))
      this.repairForm.addControl('originTime', new FormControl('',))
      this.repairForm.addControl('originCity', new FormControl('Value Here',))
      this.repairForm.addControl('originState', new FormControl('',))
    }
    // other form code goes here
  }

Файл шаблона:

<form [formGroup]="repairForm">
  .
  .
  .
  <div *ngIf="isAuthorized ">
    <div class="form-row">
      <mat-form-field>
        <input matInput formContolName="customerNumber" placeholder="Customer Number">
      </mat-form-field>
    </div>
    <div class="form-row">
      <mat-form-field>
        <input matInput formContolName="originCity" placeholder="Origin City">
      </mat-form-field>
      <mat-form-field>
        <input matInput formContolName="originState" placeholder="Origin State">
      </mat-form-field>
    </div>
    <div class="form-row">
      <mat-form-field >
        <input matInput [matDatepicker]="picker" formContolName="originDate" placeholder="Origin Date" (dateChange)="logEvent()">
        <mat-datepicker-toggle matSuffix [for]="picker"></mat-datepicker-toggle>
        <mat-datepicker #picker></mat-datepicker>
      </mat-form-field>
      <mat-form-field>
        <input matInput formContolName="originTime" placeholder="Origin Time">
      </mat-form-field>
    </div>
  </div>
  .
  .
  .
</form>

При загрузке формы вход, связанный с originCity, не отображает «Value Here». Изменения во входных данных не изменяют formControls, с которыми они должны быть связаны. Кроме того, событие журнала из события datepicker dateChange регистрирует состояние формы восстановления. После изменения любого из этих полей форма будет нетронутой и нетронутой. Наконец, есть другие поля, созданные при похожих обстоятельствах, которые работают.

1 Ответ

0 голосов
/ 30 апреля 2019

Обновление, обнаружена проблема.Сделал опечатку в 'formControlName' и набрал только 'formContolName'

...