ich eine ziemlich grundlegende Säule in einem mat-table
haben wie folgt:Füllen einer Zelle der Matte-Tabelle mit einer Farbe
<mat-table #table [dataSource]="dataSource" matSort>
<ng-container matColumnDef="zone">
<mat-header-cell *matHeaderCellDef mat-sort-header></mat-header-cell>
<mat-cell *matCellDef="let item" [style.background-color]="'#' + item.zone.color"></mat-cell>
</ng-container>
...
</mat-table>
mag ich würde zone
Spalte Zellen mit einigen Farben von Reihe unterschiedlicher füllen zu Reihe (nicht die ganze Reihe, nur Zellen dieser spezifischen Spalte).
Alles, was ich bisher finden konnte, ist die ganze Reihe zu färben.
Die Zellen der zone
Spalte werden an den folgenden HTML gerendert:
<mat-cell class="mat-cell cdk-column-zone mat-column-zone" role="gridcell" style="background-color: rgb(255, 182, 193);" _ngcontent-c8=""></mat-cell>
Wir können sehen, dass background-color
Stil Eigenschaft korrekt angewendet wurde, aber das Problem ist, dass die Zelle in der Höhe 0. weil die Zelle doesn ist Ich habe keinen Inhalt. Ich habe versucht, eine
innerhalb der Zelle zu setzen, aber es wird als ein dünner Stab mit oberen und unteren Rand angezeigt:
Und was ich will, ist die ganze Zelle einschließlich seiner Ränder zu färben.
Wie können wir einzelne Zellen in mat-table
färben?
Vielen Dank! Was ist, wenn sie in der nächsten Version die Mindesthöhe von "Mat-Row" auf "30px" ändern? Gibt es eine Lösung, die unabhängiger von Konstanten in den Material-CSSs ist? –
Verwenden Sie einfach die gleiche SCSS-Variable, die sie zum Generieren des CSS verwendet haben. Sie können es hier überprüfen: https://github.com/angular/material2/blob/d2f41a4da1faf3c8abcf0766734347b5e1e044fb9/src/lib/table/table.scss#L1 – Romulo