scrollIntoView () не работает с селектором приложений - PullRequest
0 голосов
/ 26 апреля 2018

Кто-нибудь знает правильную реализацию прокрутки для привязки.Этот подход не работает: Angular2 выделите элемент, который имеет * ngIf

Вот шаблон, который имеет ссылки на другие компоненты:

<app-app1 id="id1"></app-app1>
<app-app2 id="id2"></app-app2>
<app-app3 id="id3" *ngIf="test"></app-app3>

Нажав накнопка, которую я хотел бы прокрутить до соответствующего раздела:

let elm = document.querySelector("#id1");
if (elm)
  elm.scrollIntoView();

Функция scrollIntoView () выполнена, но она прокручивается в неправильное место (как в середине раздела) и не работает для приложения-app3 вообще.

1 Ответ

0 голосов
/ 26 апреля 2018

Я исправил это так: 1. Удалите «id3» из компонента выбора приложения:

   change: <app-app3 id="id3" *ngIf="test"></app-app3>
   to:     <app-app3 *ngIf="test"></app-app3>
Поместите новый div внутри компонента в самом верху:

Изменение:
let elm = document.querySelector("#id3");
if (elm)
  elm.scrollIntoView();

на:

let elm = document.getElementById("id3");
elm.scrollIntoView({behavior: "instant", block: "center", inline: "center"});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...