169 похожих чатов

Всем привет. Пишу пет-проект с чатом на Vue 3 +

Composition API. Возникла проблема с рендером. При отправке сообщения окно должно скроллиться в самый низ до него, но получаю только предпоследнее сообщение, будто бы этот метод должен вызываться в методе onUpdated, но он не вызывается vue, что странно.

При методе скролла до низа вызывается console.log с последним элементов у рефа, если выводить в консоль сам реф, то там есть этот элемент, однако .lastChild говорит иначе

На втором скриншоте верстка.

На третьем скриншоте сам код, handlerSubmit вызывается при отправке сообщения.

Как можно отлавливать последнее сообщение в скрипте? Как я понимаю, нужно заставить его ререндерить явно

3 ответов

18 просмотров

Я думаю, что ты должен сначала отрендерить это сообщение, а потом отправить скролл к нему. nextTick тебе поможет

Paul-Valeska Автор вопроса
Юрий Дмитриев
Я думаю, что ты должен сначала отрендерить это соо...

Благодарю! Переписал так. Но почему-то кажется, что можно как-то сделать попроще. Но пока-что других вариантов нет)

Paul Valeska
screenshot Благодарю! Переписал так. Но почему-то кажется, чт...

У тебя два варианта. Либо после добавление крутить вниз самому. Либо отслеживать размер элемента и если он увеличился, значит добавилось сообщение, тогда ты крутишь скролл вниз. Но такая идея вообще не очень. Так как если ты был в середине чата и тебе пришло сообщение и он прокрутился вниз. Тебе нужно отслеживать находится ли скролл внизу и если он внизу, то только в этом случае его прокручивать вниз.

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

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта