лэйауте и внутри роутер-аутета после какой-то там вложенности есть ng-select с поиском по тегам
В мобильном хедере нужна кнопка, которая будет скролить до строки поиска и фокуситься на ней
С этим проблем нет — нашел по id, скролюсь и фокусируюсь на инпуте, но так как компонент — ng-select — он при фокусе на инпут не открывает выпадашку с вариантами. На ng-select в html можно повесить #SearchField и через ViewChild достать его, чтобы вызвать метод open()
Вот пример со стэк оверфлоу
@ViewChild('Selecter') ngselect: NgSelectComponent;
ngAfterViewInit() {
this.ngselect.open();
}
Вопрос — как получить доступ к #SearchField внутри компонента хедера? ViewChild не находит, потому что раотает с дочерними элементами, но в хедере только хедер
Какжется, можно на уровне родителя хедера и роутер-аутлета найти через ViewChildren и передать, как параметр в хедер, но кажется, что это какой-то костыль и может быть более адекватный способ. Буду благодарен за рекомендацию)
создай сервис, при иницализации селекта сохраняй в сервис на его референс, а там откуда надо открывать инжекть сервис, скроль и открывай селект
Спасибо - попообую
Спасибо — сделал сервис с бехэйвер сабджектом, в который складываю компоненты для подписок — заработало)
Обсуждают сегодня