如何根据另一个angular下拉列表选择的条件删除和添加下拉值?
我的要求:我必须创建一个表单行,它有两个选择下拉列表,最后一个添加和删除按钮。第一个下拉列表将包含 ed 的值列表.. ['one', 'two', 'three', 'four'] 2. 第二个下拉列表的条件为 ['and','or']
假设表单值的第一行选择为 ['one'] ['and'] 然后单击添加按钮,然后将创建第二行。这里的第一个下拉列表不应显示“一个”值,因为条件是“和”。如果用户选择或那么它应该所有的值。对于所有行,我必须以角度创建逻辑。
HTML代码:
<div *ngFor="let filterCondition of filters; index as i">
<!-- OUTPUT PROPERTY -->
<ng-container *ngTemplateOutlet="filterView == 'subscription'? attrs: map; context: { index: i }"></ng-container>
<!-- CONNECTOR CONDITION -->
<div>
<div>
<select [(ngModel)]="filters[i].op">
<option *ngFor="let val of op" [value]="val">{{val}}</option>
</select>
</div>
</div>
<!-- INPUT -->
<ng-container *ngTemplateOutlet="filterView != 'subscription'? attrs: map; context: { index: i }"></ng-container>
<!-- SELECT -->
<div>
<select *ngIf="!(i==filters.length-1)" [(ngModel)]="filters[i].logop" (change)="operatorChange(filters[i])">
<option *ngFor="let val of logop" [value]="val">{{val}}</option>
</select>
</div>
<!-- ICONS -->
<div>
<button *ngIf="i==filters.length-1" (click)="addStateConditionRow()"><i
aria-hidden="true"></i></button>
<button *ngIf="i>0" (click)="deleteStateConditionRow(i)"><i
></i></button>
</div>
</div>
<ng-template #attrs let-i="index">
<div>
<ng-container *ngIf="!dataProps">
<input type="text" [(ngModel)]="filters[i].value">
</ng-container>
<ng-container *ngIf="dataProps">
<select [(ngModel)]="filters[i].value">
<option *ngFor="let data of dataProps" [value]="data.attrId">{{data.attrName}}</option>
</select>
</ng-container>
</div>
</ng-template>
<ng-template #map let-i="index">
<div>
<input type="text" clickOutside (clickOutside)="closeAccordion($event)" (click)="openAccordion($event)" [(ngModel)]="filters[i].attribute">
<div *ngIf="showAccordion">
<app-common-accordion-mapping [filterInputRef]="filterInputRef" [inputAttributes]='inputAttributes' ></app-common-accordion-mapping>
</div>
</div>
</ng-template>