@evomed

Как прокрутить страницу к определенному компоненту в цикле v-for?

Модуль комментариев.
Компонент Comments, который через v-for крутит компонент CommentWithReplies
В компоненте CommentWithReplies находится компонент Comment - парент камент и еще один Comment в цикле (ответы на парент-комментарий).
Мне нужно реализовать прокрутку к reply где id == 277
пробую повесить id на цикл
<div v-for="reply in comment.replies" :key="reply.id" :id="'comment_'+reply.id">
<Comment
  :comment="reply"
>
</Comment>
</div>

и затем вызвать скроллинг через метод
scrollToElement(elementId) {
var element = document.getElementById(elementId);
var elementRect = element.getBoundingClientRect();
var absoluteElementTop = elementRect.top + window.pageYOffset;
var middle = absoluteElementTop - (window.innerHeight / 2.3);
window.scrollTo(0, middle);
}

Метод вызываю в mounted компонента CommentWithReplies
var elementId = window.location.hash.replace('#', '')
        if(elementId) {
          console.log(elementId);
          this.scrollToElement(elementId);
        }

в ссылке передаю прапвильный ид #comment_277
Скролла не происходит без ошибок
В продолжении темы Почему не скроллит к элементу?
  • Вопрос задан
  • 266 просмотров
Решения вопроса 1
@evomed Автор вопроса
scrollToElement(elementId) {
 setTimeout(function() {
            document.getElementById(elementId).scrollIntoView();
        }, 100);
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы