2017-07-18 41 views
0

我在我的項目中使用angular material2。我已經使用了table組件。我想將左邊框添加到表格的當前單擊行中。如何在mdtable角度材質中點擊行添加左邊框2

有我可以使用的懸停和活動選擇器。但是,只有當行處於活動狀態時,活動選擇器纔會保持邊框,這只是鼠標處於單擊狀態時的時間。但即使用戶釋放鼠標,我也想添加它。我怎樣才能做到這一點?

+0

檢查的例子https://jsfiddle.net/4vu6kzsh/ – LKG

+0

由於!我沒有使用jQuery ..任何其他方式? –

+0

css不能這樣做,所以你可以使用這個概念來創建任何其他腳本語言,因爲我做jquery .. :) – LKG

回答

2

<md-row *cdkRowDef="let row; columns: displayedColumns;"></md-row>允許將classevent添加到整行。

我在row.idselectedRowIndex匹配時,添加了一個ngClass以顯示highlight類。此外,還添加了一個click事件以將行信息傳遞給組件以設置selectedRowIndex

HTML:

<md-row *cdkRowDef="let row; columns: displayedColumns;" 
     [ngClass]="{'highlight': selectedRowIndex == row.id}" 
     (click)="highlight(row)"> 
</md-row> 

組分:

selectedRowIndex: number = -1 

highlight(row){ 
    // console.log(row); 
    this.selectedRowIndex = row.id; 
} 

CSS:

.highlight{ 
    border-left: 5px solid #42A948; /* green */ 
} 

Plunker demo

+0

如果在我的數據中沒有ID這樣的東西,我可以以某種方式識別使用某種類型的行建立行標識符? – TomP