#angular #angular-material
#угловой #угловой материал
Вопрос:
Недавно я заметил, что заголовки моих столбцов не выровнены по горизонтали. Я выяснил, что вызывает это, но я не знаю, как это точно исправить.
Что у меня сейчас есть
В настоящее время это так, потому что HTML содержит следующий код
<ng-container matColumnDef="Status">
<mat-header-cell *matHeaderCellDef mat-sort-header="Status">
Status
... <!-- Unimportant information -->
</mat-header-cell>
... <!-- Unimportant information -->
</ng-container>
<ng-container matColumnDef="Actions">
<mat-header-cell *matHeaderCellDef> <!-- Notice how mat-sort-header is not present, this causes the visual issue -->
Acties
</mat-header-cell>
... <!-- Unimportant information -->
</ng-container>
Чего я хочу достичь
Это легко выполнимо путем добавления mat-sort-header="Status"
в Acties
HTML-код. Однако это вызывает другую проблему, заключающуюся в следующем сообщении об ошибке (см. Изображение 3).
Что я уже пробовал
- Я попытался добавить стиль
mat-sort-header
класса в свойActies
столбец, но это не исправляет его, посколькуmat-sort-header
также генерирует другой HTML (кнопка и т.д.). - Добавление
mat-sort-header="status"
(статус нижнего регистра) в мойActies
HTML, но тогда это испортит сортировку, но не выдаст ошибку. - Добавление
mat-sort-header=""
(пустого) в мойActies
HTML, но тогда это испортит сортировку и вместо этого будет сортироватьActies
, что невозможно, но не выдаст ошибку.
Ответ №1:
Можете ли вы сделать селектор / deep / styling и присвоить «действиям» класс или идентификатор и настроить на него нужное вам правило?
/deep/ mat-header-cell.acties {
// your rules here
}
Комментарии:
1. На самом деле, да и нет. Я только что обнаружил, что проблема вызвана моим собственным CSS. Кнопка по умолчанию имеет
margin-top
значение 15 пикселей, иmat-sort-header
код генерирует кнопку в заголовке столбца. Это привело к тому, что все сортируемые столбцы уменьшились на 15 пикселей. Мне пришлось переопределить свой собственный CSS с помощью::ng-deep
селектора, так что ваш ответ пригодился.