vue中div内的文字是动态刷新的,文字多了以后,滚动条没有实时滚动到最新文字的地方

解决办法:
使用以下代码

var container = this.$el.querySelector("#chatContainer");
    console.log(container);
    container.scrollTop = container.scrollHeight;

滚动条都是滚动到倒数第二条数据上,原因是有一个时间差,使用异步延时来设置滚动条位置也是可以的,但是会闪屏,不是最佳办法。所以需要用到vue组件渲染后触发的watch或者update方法。

<div class="show_words" id="show_words" updated>
export default {
//添加update方法:
	 updated : function(){
     		this.$nextTick(function(){
          		var div = document.getElementById('show_words');
  				div.scrollTop = div.scrollHeight;
     		})

 		},
}

此时数据渲染完毕后即可实时滚动条到底部

Logo

前往低代码交流专区

更多推荐