我想加载两个下拉列表,一个下拉列表基于另一个下拉列表。
我正在使用 formarray 来加载表单值。在我的实际场景中,首先我使用表单数据(formarray)在 *ngfor 循环中加载值。下图显示了我的示例场景。
Img Brief:姓名、年龄、出生日期就像标签字段。只有下拉菜单是形式。
首先我使用 *ngFor 在视图中加载值,然后我使用表单数组加载值。
在这里加载它应该加载下拉值。如果我选择第一个下拉菜单。它应该改变第二个下拉值。在加载它自己时,我使用服务加载两个下拉列表中的数据。
组件.ts
this.wholedata.foreach({ x =>
this.sampleservice.dropdown(x.firstdropdownvalue).subscribe({
this.samplevalue = res;
control.push({
dropdownvalue1: x.firstdropdownvalue,
dropdownvalue2: x.seconddropdownvalue
})
})
})
组件.html
<div *ngFor="let data of datas">
//formarray codes here placed
<span>name: {{data.name}}</span>
<span>age: {{data.age}}</span>
<span>dob: {{data.dob}}</span>
<span>
<select formControlName="dropdownvalue1" (change)="changevalues($event)">
<option *ngFor="let data of dropdownvalue">{{data.values}}</option>
</select>
</span>
<span>
<select formControlName="dropdownvalue2">
<option *ngFor="let data of samplevalue">{{data.values}}</option>
</select>
</span>
<button type="submit" (click)="submitValues()">
</div>
当前samplevalue变量值加载到最后一个 *ngfor 循环,因为动态下拉值正在根据 firstdropdown 更改每个数组,因此我无法设置该值。