我使用角度2和打字稿来制作前端。我使用了角度材质库中的md-tab-group来制作标签。我想记住每个标签的滚动位置,并在标签切换后转到该特定位置。我可以正确获取滚动位置,但我无法设置滚动位置。我认为selectChange或focusChange事件将滚动位置设置为0.当我键入命令滚动到控制台中的特定位置时,它完美地工作。以下代码也会偶尔使用一次。增加超时会增加其工作的可能性,但我不确定。
TabService:
def a(n)
n.zero? ? '0' : '10', '20'
end
[*a(0)].first #=> "0"
[*a(7)].first #=> "10"
TabComponent:
public scrollTab() {
let el = document.getElementById('items-container');
this.tabs[this.currentTab].scrollPosition = el.scrollTop;
console.log(this.tabs[this.currentTab]);
}
public setScroll() {
setTimeout(() => {
let el = document.getElementById('items-container');
if(el.scrollTop !== undefined ) {
el.scrollTop = this.tabs[this.currentTab].scrollPosition;
}
console.log(this.tabs[this.currentTab]);
}, 200);
}
public switchTab(index: number) {
this.currentTab = index;
this.location.go('/' + this.tabs[index].path);
this.displayEditor.next(false);
}