记住滚动位置角度打字稿

时间:2017-06-03 17:33:06

标签: javascript html css angular typescript

我使用角度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);
  }

0 个答案:

没有答案