Повторяющиеся элементы в угловом материале перетаскивания - PullRequest
0 голосов
/ 15 октября 2019

Есть ли какой-нибудь способ в угловом материале предотвратить дублирование элементов в выпадающем списке? Вот пример кода

https://stackblitz.com/edit/angular-xjex4y-43l7uh

Я пытаюсь проверить, существует ли элемент в массиве с event.currentIndex, но это не правильно, потому что иногда я получаю неправильное значение.

event.container.data.included(event.container.data[event.currentIndex])

В stackblitz мне нужно использовать .indexOf () insead od .included (), потому что что-то не работает

1 Ответ

1 голос
/ 15 октября 2019

Вы можете проверить текущий элемент, используя previousIndex и проверить, существует ли элемент или нет, если он существует, затем вернуть, как

 {
      let idx=event.container.data.indexOf(event.previousContainer.data[event.previousIndex]);
      if(idx != -1){
        return;//if item exist
      }
      copyArrayItem(event.previousContainer.data,
                        event.container.data,
                        event.previousIndex,
                        event.currentIndex);
    }

рабочая демонстрация

...