Скрыть выделение в ng-select

Мы используем ng-select в проекте. И мне нужно предоставить функциональность с раскрывающимся списком, но моя цель - очистить поле выбора после выбора элемента из раскрывающегося списка. Кто-нибудь сталкивался с этой проблемой?

 <ng-select 
   #addmanager
   (change) = "setLeagueAdmin($event)" 
   [items] = "notAdminLeagueMembers"
   bindLabel = "title"
   placeholder = "Select from list"
   [clearSearchOnAdd] = "true"
   [virtualScroll] = "true"
   [clearable] = "true"
   (scrollToEnd) = "onAddManagerSscrollEnd()">
 </ng-select>

вы имеете в виду, что после выбора вы хотите удалить раскрывающийся список?

Chellappan வ 13.07.2018 14:30

@Chellappan нет, я выбираю элемент из списка, вызываю функцию, элемент удаляется из списка, и мне нужно очистить поле выбора, потому что предварительный просмотр элемента остается в поле.

Bogdan Tushevskyi 13.07.2018 14:34

какую форму вы используете?

Chellappan வ 13.07.2018 14:53

это не форма, я привязываю массив и вызываю обратный вызов setLeagueAdmin при событии изменения, который удаляет выбранное значение из массива notAdminLeagueMembers. Проблема в том, что метка значения остается на выбранном поле, и я не могу его очистить.

Bogdan Tushevskyi 13.07.2018 14:59
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Angular и React для вашего проекта веб-разработки?
Angular и React для вашего проекта веб-разработки?
Когда дело доходит до веб-разработки, выбор правильного front-end фреймворка имеет решающее значение. Angular и React - два самых популярных...
Эпизод 23/17: Twitter Space о будущем Angular, Tiny Conf
Эпизод 23/17: Twitter Space о будущем Angular, Tiny Conf
Мы провели Twitter Space, обсудив несколько проблем, связанных с последними дополнениями в Angular. Также прошла Angular Tiny Conf с 25 докладами.
Угловой продивер
Угловой продивер
Оригинал этой статьи на турецком языке. ChatGPT используется только для перевода на английский язык.
Мое недавнее углубление в Angular
Мое недавнее углубление в Angular
Недавно я провел некоторое время, изучая фреймворк Angular, и я хотел поделиться своим опытом со всеми вами. Как человек, который любит глубоко...
Освоение Observables и Subjects в Rxjs:
Освоение Observables и Subjects в Rxjs:
Давайте начнем с основ и постепенно перейдем к более продвинутым концепциям в RxJS в Angular
1
4
4 494
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы можете использовать ViewChild, чтобы получить первый элемент или директиву, соответствующую селектору, из представления DOM. Если DOM представления изменяется и новый дочерний элемент соответствует селектору, свойство будет обновлено.

 <ng-select 
   #addmanager
   (change) = "setLeagueAdmin($event)" 
   [items] = "notAdminLeagueMembers"
   bindLabel = "title"
   placeholder = "Select from list"
   [clearSearchOnAdd] = "true"
   [virtualScroll] = "true"
   [clearable] = "true"
   (scrollToEnd) = "onAddManagerSscrollEnd()">
 </ng-select>

component.ts

@ViewChild('addmanager') ref:ElementRef;
onChange($e){
  console.info($e);
 //set the input element clear 
  this.ref.itemsList['_selected']=[];
}

Посмотрите пример здесь: https://stackblitz.com/edit/ng-select-q46vpr

Больше не работает с новой версией (2.12.1). Поскольку для отображения требуется _selectedModel вместо _selected

dothem 27.03.2019 13:29

Другие вопросы по теме