Есть ли способ изменить formcontrolname (но сохранить то же имя) в форме? - PullRequest
0 голосов
/ 04 июня 2019

Я создаю реактивную форму в Angular6, в которой имя formcontrol изменяется, когда выбирается значение в mat-select, но оно отправляет мне ExpressionChangedError.

Я пробовал что-то, что работает, но я получаюошибка в консоли.

<input
  *ngIf="variableForm.get('type').value === 'var3'"
  matInput
  type="number"
  placeholder="Value of variable"
  id="value"
  formControlName="value">

<mat-select
  *ngIf="variableForm.get('type').value === 'var4'"
  placeholder="Value of variable"
  id="value"
  formControlName="value">
  <mat-option [value]="true">True</mat-option>
  <mat-option [value]="false">False</mat-option>
</mat-select>

<mat-error *ngIf="isDirty('value')">
  <div *ngIf="required('value')">
    Value required
  </div>
  <div *ngIf="variableForm.get('value').hasError('pattern')">
    Value must be a number
  </div>
  <div *ngIf="variableForm.get('value').hasError('invalidString')">
    Value cannot contain special characters
  </div>
</mat-error>

На самом деле, у меня в консоли возникает ExpressionChangedError, когда я переключаюсь между некоторыми значениями типа select (var1, var2, var3или var4)

...