我已禁用表中的几列,并希望以不同的颜色显示它们。因此,我在 Typescript 中编写了一个函数,其中 CSS 通过类 .disabledRange 进行更改。我读过你可以用 [ngClass] 解决它...我有一个包含三列的数组:第一、第二、第三。如何使列禁用并仍然以不同的颜色设置它们的样式?就我而言,我不知道如何以最有用的方式使用它。我会很感激帮助:)
我的代码:
// Template
<td mat-cell *matCellDef [class.disabledRange]="column.disabledRange">
...
</td>
// Array
private displayedColumns: EditColumns[] = [
{ attribute: 'first', name: 'MyFirstCol', object: null, disabledRange: false },
{ attribute: 'second', name: 'MySecondCol', object: null, disabledRange: false },
{ attribute: 'third', name: 'MyThirdCol', object: null, disabledRange: false }
];
// Set columns disabled
private disabledColumns(attributeName: string) {
if (attributeName) {
const displayedColumn = this.displayedColumns.find((c) => c.attribute === first);
if (displayedColumn) {
displayedColumn.disabledRange = !displayedColumn.disabledRange;
const columnIndex = this.columns.findIndex((c) => c === attributeName);
}
}
ngAfterViewInit() {
// To disabled columns
this.disabledColumns('first');
this.disabledColumns('second');
this.disabledColumns('third');
}
// Style
// When ranges are disabled in the data table
.disabledRange {
background-color: #eae9e9;
color: #000000;
}