vue 初始化时设置scrollTop
2019-01-11 本文已影响0人
良品山核桃
由于工作需求,我需要在动态设置初始scrollTop,我最开始设想在mounted改变scrollTop,但scrollTop始终为0。使用$nextTick 还是为0
在mounted生命周期,页面刚挂载,还未完成渲染,获取不到dom节点。同样使用$ref无法获取样式。
通过网上查找发现updated
updated:function(){
//$nextTick 是在下次 DOM 更新循环结束之后执行延迟回调,在修改数据之后使用 。
this.$nextTick(() => {
this.$refs.qwcontent.scrollTop= 300;
})
},
但这样造成一个问题,我每次修改数据的时候,都会执行一次updated,所以我设置一个变量i初始值为零,当每次数据更新时,i加1,判断只有i为1时在updated里修改scrolltop,当我这个组件或者页面关闭时,i重新设为0。