сылкой, который я пытаюсь через ViewChild получить но получаю undefined. Этот же template в свою очередь передается по клику OverlayRef. Подскажите выход
dropDown передается в метод open. Далее идет инициализация и прорисовка overlay. все по идет по порядку и далее рендерится в *ngTemplateOutlet="template" стороннего компонента. Как мне получить доступ к input полю searchField который на первом скрине?
памагити
сложное что-то
в какой момент дёргается поле с ViewChild на нём?
при вызове open пробовал и сеттаймаут и без него все равно undefined
хотя есть еще одна ссылка в этом темплейте она иногда бывает видна иногда нет. смотря какая задержка с бэка
а как само поле объявлено?
@ViewChild('searchField', {static: false}) searchField: ElementRef<HTMLInputElement>; но опять же пробовал все дополнительные свойства убирать и так не работает
нюанс в том, что самой разметки темплейта нет в дереве на момент инициализации вьюшки возможно, в этом проблема
если поповер либа позволяет, можно попробовать завернуть ng-template в компонент, и перенести фокус туда
спасибо будеm пробовать
Лучше всего тебе сделать autoFocus директиву и вешать её на поле
в ней есть еще одно ид scrollContainer который отвечает за скролл он тоже зачастую бывает undefined
Шаблон определён в компоненте А. Ты его передаёшь в компонент Б и там инстанциируешь. У тебя ведь ViewChild в компоненте А? Если так, то всё верно и после проверки изменений в А он должен подхватиться.
а это нормально что оно через такой промежуток времени подхватывает viewChild?
а откуда ты это выводишь в консоль,
хрена себе панель управления боингом
мне не нравиться дизайн бордеров кнопок и крестик не по центру)
Должно в следующем ngAfterViewChecked быть уже не undefined
значит можно взрывать атомную бомбу
До клика в центре, после клика же уже блок не старый))
Обсуждают сегодня