如图,每次添加新元素,希望新元素能出现在视野内,删除新元素,也希望最后一个元素出现在视野内。
// 添加
addFilter() {
let obj = {
name: '',
fieldRemarks: '',
symbolType: '',
symbolEnums: [],
fieldEnum: '',
fieldEnums: []
};
this.filterData.push(obj); //添加新元素
// 滚动,这里一定要使用this.$nextTick,因为js逻辑操作要在添加元素之后执行,否则最新元素永远都不在最下面视野之内。
this.$nextTick(() => {
this.scrollTo();
});
},
scrollTo() {
const parent = document.querySelector('#filterCriteriaCon');
const child = document.getElementsByClassName('filter-criteria');
console.log('lastChild', child[child.length - 1].offsetTop);
parent.scrollTo({
top: child[child.length - 1].offsetTop,
behavior: 'smooth'
});
},
标签:滚动,scrollTo,元素,添加,child,新元素,scroll
From: https://www.cnblogs.com/sinceForever/p/17159066.html