【发布时间】:2021-02-26 10:00:47
【问题描述】:
我做了一个步进器,我想在选择中输入一个默认值。为此,我使用两种方式绑定[(value)] 属性。它奏效了。
但只要我添加了[formControl] 属性,输入值就会消失。它仍然以编程方式存在,但不再出现在下拉列表中。
这是一个步骤示例:
<mat-step state="class" [stepControl]="firstFormControl">
<form [formGroup]="firstFormGroup">
<ng-template matStepLabel>Foo Label</ng-template>
<mat-form-field>
<mat-label>Foo Label</mat-label>
<mat-select [(value)]="myVar" [formControl]="firstFormControl" required>
<mat-option *ngFor="let i of customCollection" [value]="i">
{{i.name}}
</mat-option>
</mat-select>
</mat-form-field>
<div>
<button mat-button matStepperNext>Next</button>
</div>
</form>
</mat-step>
这是表单定义:
public firstFormGroup: FormGroup;
public firstFormControl: FormControl;
this.firstFormControl = new FormControl('', Validators.required);
this.firstFormGroup = this._formBuilder.group({
firstCtrl: ['', Validators.required]
});
[(value)] 属性中使用的 myVar 值完全位于表单外部,仅引用 customCollection 元素之一。
知道如何解决这个问题吗?非常感谢 !凯夫'
【问题讨论】:
标签: angular angular-material dropdown angular-forms angular11