【发布时间】:2021-07-24 08:45:19
【问题描述】:
我有单独工作的级联下拉列表,但是当我生成新行并更改其中一个下拉列表时,它会影响我的整个下拉列表。
这是我的 html 代码。
<td>
<select class="form-control" formControlName="province_id"
(change)="onChangeProvince($event)">
<option >Select Province</option>
<option *ngFor="let province of provinces; let i = index"
[value]="province.id">{{province.province_name}}</option>
</select>
</td>
<td>
<select class="form-control" formControlName="district_id">
<option >Select District</option>
<option *ngFor="let district of districts" [value]="district.id">
{{district.district_name}}</option>
</select>
</td>
<td>
<button class="btn btn-danger" type="button"
(click)="deleteMyRelation(i)">Delete</button>
<button class="btn btn-primary" type="button"
(click)="addItem()">Add</button>
</td>
这是我的组件代码。
createItem(): FormGroup {
return this.fb.group({
province_id: '',
district_id: ''
});
}
addItem(): void {
this.itemRows = this.contactForm.get('itemRows') as FormArray;
this.itemRows.push(this.createItem());
}
ngOnInit() {
this.contactForm = this.fb.group({
province_id: '',
district_id: '',
itemRows: this.fb.array([ this.createItem() ])
});
this.getProvinces();
}
provinces = <any>[];
districts = <any>[];
getProvinces(){
this.contactService.getProvinces().subscribe(
data => {
this.provinces = data;
console.log(data);
},
error => {
console.log(error);
});
}
onChangeProvince(event:any){
this.contactService.getDistrict(event.target.value).subscribe(
data => {
this.districts = data;
},
error => {
console.log(error);
});
}
【问题讨论】:
标签: angular cascadingdropdown formarray cascading