我正在Angular6中创建一个反应形式,其中当选择了mat-select中的值时,formcontrolname会更改,但它会向我发送一个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>
实际上,当我在某些选择的“类型”值(var1,var2,var3或var4)之间切换时,控制台中出现ExpressionChangedError