Прокрутить до конца сообщения - PullRequest
0 голосов
/ 13 октября 2018

Я построил систему обмена сообщениями, используя представление.Самые новые сообщения начинаются снизу вверх.Когда вы нажимаете на разговор, который хотите просмотреть, я хочу автоматически прокручивать его до конца после того, как все сообщения были загружены axios.

Компонент диалоговых сообщений

methods: {
  getOldMessages(conversation_id){

        setTimeout(function() {
        axios({
            method: 'get',
            url: this.url,
        }).then(function(response) {
            //console.log(response.data);

            this.messages = response.data;

            this.scrollToEnd();

        }.bind(this))
        .catch(function(error) {

        });
    }.bind(this))
  },
  scrollToEnd: function() {     
    var container = this.$el.querySelector(".single-conversation");
    container.scrollTop = container.scrollHeight;
  },
}

Пример кода.

1 Ответ

0 голосов
/ 13 октября 2018

Вы пытаетесь прокрутить до конца просмотра сообщений до того, как messages будет обработан.Вы должны подождать до следующего тика , прежде чем прокручивать:

this.messages = response.data;
this.$nextTick(() => this.scrollToEnd())

ваш код с необходимыми изменениями

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...