2017-09-11 89 views
0

推薦的mat-table使用產生以下要素構成:對角的自定義模板(2)材料表(墊表)

<mat-table> 
    <mat-header-row>...</mat-header-row> 

    <mat-row>...</mat-row> 
    ... 
    <mat-row>...</mat-row> 
</mat-table> 

有沒有辦法來迫使一些自定義模板的使用,以包常規行元素放入一些父元素(例如div)以將它們從標題行元素中分離出來(爲了使表格可滾動)? 結果應該是這樣的:

<mat-table> 
    <mat-header-row>...</mat-header-row> 

    <div> 
    <mat-row>...</mat-row> 
    ... 
    <mat-row>...</mat-row> 
    </div> 
</mat-table> 

我想通了,唯一的解決辦法是使用自定義的表格組件:

@Component({ 
    selector: 'my-cool-table', 
    template: ` 
     <ng-container headerRowPlaceholder></ng-container> 
     <div> 
      <ng-container rowPlaceholder></ng-container> 
     </div>`, 
    host: { 
    'class': 'mat-table', 
    }, 
    styleUrls: [ 
    'my_cool_table.css', 
    ], 
    encapsulation: ViewEncapsulation.None, 
    changeDetection: ChangeDetectionStrategy.OnPush, 
}) 
export class MyCoolTable<T> extends CdkTable<T> {} 

但也有像墊子表樣式表的繼承了一些消極的方面。 所以問題是:是否可以直接使用自定義模板的mat-table?

回答