#css #angular #html-table #primeng
#css #angular #html-таблица #применение
Вопрос:
Я использую p-DataTable и хотел бы применить стиль в td, но этот стиль зависит от значения поля, и я не знаю, как это сделать. Мой код:
<p-dataTable [value]="cars" resizableColumns="true" [responsive]="true" reorderableColumns="true">
<p-column [styleClass]="carStyle" field="carDesc"></p-column>
<p-column styleClass="ui-model-car" field="carModelDesc"></p-column>
<p-column styleClass="ui-width-icon-car">
<template let-col let-item="rowData" pTemplate type="body">
<div data-toggle="tooltip" data-placement="left" title="{{item.typeCarDesc}}">
<span class="icon-circle {{item.typeCarIcon}} {{item.carColor}}"></span>
</div>
</template>
</p-column>
</p-dataTable>
carStyle может быть пустым или ui-without-border-top и мой css:
td.ui-without-border-top {border-top-style: hidden;}
В моем html-сгенерированном коде я не вижу carStyle. Мне нужен стиль в td.
Комментарии:
1. Пожалуйста, подтвердите, правильно ли я понял ваш вопрос. Вы хотите добавить класс carStyle, если переменная carStyle не пуста. Вы хотите, чтобы класс ui-without-border-top добавлялся, если carStyle пуст?
2. Я хочу добавить класс ‘ui-without-border-top’ в td, переменная carStyle пуста или равна ‘ui-without-border-top’, поэтому я хотел установить [styleClass]=»carStyle», но html-код не устанавливает значение carStyle, но если я установлю эту переменную в div в шаблоне, html-код устанавливает значение carStyle ‘<p-column styleClass=»ui-width-room» > <шаблон let-col let-item=»rowData» Тип элемента =»body»> <класс div=»{{item.carStyle}}»> {{item.carDesc}} </div> </template> </p-column>’
3. Вы пробовали пользовательские селекторы Angular 2 для стилизации внутренних компонентов? angular.io/docs/ts/latest/guide /…
4. Я не знаю, как использовать эти селекторы в этой ситуации, потому что мне нужно задать стиль для некоторых td, а не для всех td таблицы. Проблема, если я помещаю css в столбец: [styleClass]=»carStyle», код не генерирует стиль, но если я помещаю класс в div: class=»{{item.carStyle}}», код генерирует стиль, но мне нужен стиль в td, а не в div
Ответ №1:
Пожалуйста, проверьте, был ли в вашем случае добавлен класс carStyle <td>
.
Я покажу, как я сделал это без каких-либо проблем:
В моем шаблоне:
<p-column styleClass="col-button">
И мой Scss:
table {
tbody
{
td.col-button {
text-align: center;
}
}
}
Смотрите на скриншоте ниже, насколько хорошо это работало без проблем:
Пожалуйста, проверьте свой код и повторите попытку. Пожалуйста, напишите в скрипте о вашей проблеме, если это не сработает.