Javascript 如何在mat表中渲染mat微调器?

Javascript 如何在mat表中渲染mat微调器?,javascript,angular,typescript,angular-material,Javascript,Angular,Typescript,Angular Material,我想知道材质微调器为什么/如何在 .... 该表没有引用微调器,因此它如何在内容区域内渲染它?它没有在mat表内渲染mat微调器,只是使用与表体相同的css。看起来微调器在表中,但实际上不在表中,即使在加载数据源时,表的标题也存在。通过将与表体相同的css指定给微调器容器,微调器似乎位于表体中: <div class="spinner-container" *ngIf="dataSource.loading$ | async"> <mat-spinner>&

我想知道材质微调器为什么/如何在


....

该表没有引用微调器,因此它如何在内容区域内渲染它?

它没有在mat表内渲染mat微调器,只是使用与表体相同的css。看起来微调器在表中,但实际上不在表中,即使在加载数据源时,表的标题也存在。通过将与表体相同的css指定给微调器容器,微调器似乎位于表体中:

<div class="spinner-container" *ngIf="dataSource.loading$ | async">
     <mat-spinner></mat-spinner>
</div>

.

OK-因此,微调器位于表下,并在中呈现,直到内容可用,然后微调器隐藏,表行显示。。。这就是神奇之处…创建了一个stackblitz分叉,它永久保留微调器并删除数据渲染,因此我们可以看到CSS在做什么:
<div class="spinner-container" *ngIf="dataSource.loading$ | async">
     <mat-spinner></mat-spinner>
</div>
.spinner-container {
  display: flex; 
  justify-content: center; 
  align-items: center; 
  background-color: #fafafa; 
  box-shadow:0 5px 5px -3px rgba(0,0,0,.2), 0 8px 10px 1px rgba(0,0,0,.14), 0 3px 14px 2px rgba(0,0,0,.12)
}