2017-10-12 22 views

回答

2

嘗試這樣的事情

<mat-table> ... </mat-table> 
<div *ngIf="noResults$ | async">No results</div> 

它會顯示標題行,但沒有數據行。相反,它會顯示「無結果」消息。

獲取noResults$設置將非常依賴於如何你的表從服務中檢索數據,但也許這樣的事情會激發一個解決方案,

data$ = this.myService.getRowsOfData(); 

noResults$ = this.data$.map(d => d.length === 0).startWith(false); 

編輯:

你可以如果您願意,可以將狀態存儲在DataSource中。

<div *ngIf="dataSource.empty">No results</div> 

用DataSource,看起來像這樣

empty = false; 

connect(): Observable<MyData[]> { 
    return Observable 
    .of(whatever) 
    .do(data => this.empty = !data.length); 
} 
+0

有沒有辦法在ngIf使用數據源? –

+0

當然,請參閱我的更新 –

相關問題