【发布时间】:2018-04-04 15:28:23
【问题描述】:
我在 formArray 中有两个下拉菜单。
<select formControlName="access" (change)="checkValue($event)" >
<option[value]="1">Admin</option>
<option[value]="2">Customer</option>
</select>
<mat-select formControlName="regions" multiple>
<mat-option *ngFor="let region of regionArray" [value]="region.regionId">{{region.description}}</mat-option>
</mat-select>
如果选择的访问权限是管理员,我将禁用区域选择。
checkValue(event) {
if (event.currentTarget.value === "1") {
return this.myForm = this.fb.group({
user: this.fb.array([this.disableDetail(), ])
});
} else {
return this.myForm = this.fb.group({
user: this.fb.array([this.enableDetail(), ])
});
}
}
enableDetail() {
return this.fb.group({
regions: [{value:'',Validators: Validators.required, disabled:false}] });
}
disableDetail() {
return this.fb.group({
regions: [{value:'', disabled:true}] });
}
我面临的问题是它会影响其他表单数组。 我希望如果我选择作为管理员的下拉值应该禁用并仅为该特定表单数组选择区域下拉列表的所有值。
【问题讨论】:
-
new FormGroup({ 'regions': new FormControl({value:null,disabled: true}, Validators.required) })
标签: angular angular5 angular-reactive-forms