onload = function() {
var fcBody = document.querySelector(".fix-column > .tbody"),
rcBody = document.querySelector(".rest-columns > .tbody"),
rcHead = document.querySelector(".rest-columns > .thead");
rcBody.addEventListener("scroll", function() {
fcBody.scrollTop = this.scrollTop;
rcHead.scrollLeft = this.scrollLeft;
});
};
试着用Angular 2的方式弄清楚上面的代码。到目前为止,我已经提出使用ViewChild,然后尝试添加事件侦听器。我发现了一些与HostListener有关的东西,但它有点复杂
@ViewChild('fcBody') fcBody: any;
@ViewChild('rcBody') rcBody: any;
@ViewChild('rcHead') rcHead: any;
ngAfterViewInit(){
this.rcBody.addEventListener("scroll", () => {
this.fcBody.scrollTop = this.rcBody.scrollTop;
this.rcHead.scrollLeft = this.rcBody.scrollLeft;
});
}
如果可能的话,我宁愿避免使用指令,但如果这是最好的解决方案,那就这样吧。
1条答案
按热度按时间iecba09b1#
根据Gunter的评论,我做了以下事情
效果很好。本质上,它使可滚动标题的标题与可滚动表一起滚动,并且冻结的列与可滚动表一起垂直滚动。