滚动时,角度垫表粘性列重叠

时间:2019-10-30 06:20:21

标签: angular sticky mat-table

我使用的是Angular 8的表(不使用flex),前2列是粘性的。

问题:

  1. 主要问题是第一列和第二列之间的空间会导致其他问题。
  2. 当我进行水平滚动时,在这些列之间的空间中可以看到滚动数据
  3. 有一个css属性,将其设置为159px。如何计算?

再现问题。

使用带有粘性列的Angular表格示例。 https://stackblitz.com/angular/lynkxvonedv?file=src%2Fapp%2Ftable-sticky-columns-example.html

  1. 将粘性添加到第二列(位置)
  2. 在任何非粘性列中添加长文本。 (我已将其用于“重量”列)。

ScreenShot

预先感谢。

2 个答案:

答案 0 :(得分:2)

我找到了一种对您有帮助的解决方法。

constructor(private ngZone: NgZone) {}
ngAfterViewInit() {
this.ngZone.onMicrotaskEmpty.pipe(take(3)).subscribe(() => this.table.updateStickyColumnStyles());
}

GitHub链接:https://github.com/angular/components/issues/15885

答案 1 :(得分:0)

对于我来说,垫子表位于* ngIf条件内,因此我必须执行以下操作。

@ViewChild('matTable', { static: false }) set table(matTable: MatTable<any>) {
    if (matTable) {
      this.ngZone.onMicrotaskEmpty
        .pipe(take(3))
        .subscribe(() => matTable.updateStickyColumnStyles())
    }
  }