Composition API. Возникла проблема с рендером. При отправке сообщения окно должно скроллиться в самый низ до него, но получаю только предпоследнее сообщение, будто бы этот метод должен вызываться в методе onUpdated, но он не вызывается vue, что странно.
При методе скролла до низа вызывается console.log с последним элементов у рефа, если выводить в консоль сам реф, то там есть этот элемент, однако .lastChild говорит иначе
На втором скриншоте верстка.
На третьем скриншоте сам код, handlerSubmit вызывается при отправке сообщения.
Как можно отлавливать последнее сообщение в скрипте? Как я понимаю, нужно заставить его ререндерить явно
Я думаю, что ты должен сначала отрендерить это сообщение, а потом отправить скролл к нему. nextTick тебе поможет
Благодарю! Переписал так. Но почему-то кажется, что можно как-то сделать попроще. Но пока-что других вариантов нет)
У тебя два варианта. Либо после добавление крутить вниз самому. Либо отслеживать размер элемента и если он увеличился, значит добавилось сообщение, тогда ты крутишь скролл вниз. Но такая идея вообще не очень. Так как если ты был в середине чата и тебе пришло сообщение и он прокрутился вниз. Тебе нужно отслеживать находится ли скролл внизу и если он внизу, то только в этом случае его прокручивать вниз.
Обсуждают сегодня