У меня есть два выпадающих списка, которые получают данные из одного массива. Если я выберу опцию в первом раскрывающемся списке, то значение не должно быть доступно во втором раскрывающемся списке, и наоборот.
Я используя ng-select, но я мог видеть все, что связано с моей проблемой. Я нашел ссылку , где они используют ее в angular js с параметром фильтра, но как это можно сделать в ng-select
Я пытался отключить опция в ng-select, как показано ниже, но если пользователь выбирает другую опцию, как я могу включить ранее отключенное значение.
change(data) {
const items = this.hardwareIds.slice();
this.hardwareIds.forEach((hardwareId) => {
if (hardwareId.id === data.id) {
hardwareId.disabled = true;
}
});
this.hardwareIds = [];
this.hardwareIds = [...items];
}
DropDown
<ng-select
#sourceSelect
[items]="hardwareIds"
[selectOnTab]="true"
[clearable]="false"
bindValue="id"
bindLabel="hardware_id"
labelForId="source_switch_id"
placeholder="Select source switch id"
formControlName="source_switch_id"
(change)="change($event)"
>
</ng-select>
<ng-select
#destinationSelect
[items]="hardwareIds"
[selectOnTab]="true"
[clearable]="false"
bindValue="id"
bindLabel="hardware_id"
labelForId="dest_switch_id"
placeholder="Select destination switch id"
formControlName="dest_switch_id"
(change)="change($event)"
>
</ng-select>