我希望在第一个下拉列表中选择的值不会出现在第二个下拉列表值中

时间:2018-12-13 06:04:35

标签: angular

我有两个下拉菜单,两个下拉菜单都绑定了不同的模型。我希望在第一个下拉列表中选择的值不会出现在第二个下拉列表值中。                       选择信用分类帐                 

                            选择分类帐                         

我只想当我选择借方分类帐时,借方分类帐下拉列表中不会显示在贷方分类帐中选择的值

2 个答案:

答案 0 :(得分:1)

尝试使用一些代码过滤选项

HTML:

<select [(ngModel)]="creditLedger">
    <option *ngFor="let c of allOptions" [value]="c">{{c.name}}</option>
</select>

<select [(ngModel)]="creditLedger">
    <option *ngFor="let c of filteredOptions" [value]="c">{{c.name}}</option>
</select>

.TS文件:

public get allOptions(): Array<T> {
    return this.options;
}

public get filteredOptions(): Array<T> {
  return this.array.filter(v =>
    return v !== this.creditLedger;);
}

public get filteredOptions(): Array<T> {
     return this.options.splice(this.options.indexOf(this.creditLedger));
}

答案 1 :(得分:0)

两个选择都绑定到一个对象。使用两个对象,您会没事的。

<select [(ngModel)]="creditLedger">
<option *ngFor="let c of options" [ngValue]="c">{{c.name}}</option>
</select>

<select [(ngModel)]="ledger">
<option *ngFor="let c of options" [ngValue]="c">{{c.name}}</option>
</select>

现在所选选项的值将绑定到creditLedger和分类帐变量。