Угловой выпадающий список - Выбранные значения в верхней части выпадающего списка - PullRequest
0 голосов
/ 28 августа 2018

У меня есть требование хранить выбранные значения в верхней части выпадающего списка множественный выбор . Я сохранил выбранные значения в одном массиве (для каждого выбранного элемента), исходный список опций в другом массиве, сравнил значения индекса и объединенные выбранные значения с вершиной массива. Это работает, когда я выбираю одно значение и не работает для нескольких значений

HTML

<div>
  <ng-multiselect-dropdown  class ="ng-multiselect" [placeholder]="'Users'"
[data]="userList" [(ngModel)]="selectedUsers"  [settings]="multiSelect"
name="user" (onSelect)="onItemSelect($event)" (click)="userSelectedAtTopOnClick()">
  </ng-multiselect-dropdown>
</div>

ц

onItemSelect(user: User) {
  this.userData = user;
}

userSelectedAtTopOnClick(): void {
    this.isUserDropDownWidgetHidden = document.querySelector('.dropdown-list').hasAttribute("hidden");
    if(this.isUserDropDownWidgetHidden ) {
      this.sortUserListAfterEachSelection(this.userData);
    }
}

sortUserListAfterEachSelection(user: User) {
    let arrPartner: Partner[];
    if(origInst) {
      const index = this.userList.findIndex(element => element.partnerId === user.partnerId);
      const item: Partner = this.userList[index];
      if (index > -1) {
        arrPartner = this.userList.splice(index, 1);
        arrPartner = arrPartner.concat(this.userList);
        this.userList = arrPartner;
      }
    }
  }
...