【发布时间】:2026-02-13 22:50:01
【问题描述】:
我正在使用 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 中的样式。
【问题讨论】:
-
请确认我是否正确理解了您的问题。如果变量 carStyle 不为空,您希望添加类 carStyle。如果 carStyle 为空,您希望添加类 ui-without-border-top?
-
我想在 td 中添加类 'ui-without-border-top',变量 carStyle 为空或等于 'ui-without-border-top' 所以我想设置 [ styleClass]="carStyle" 但是代码html没有设置carStyle的值,但是如果我在一个div中把这个变量设置到模板中,代码html会设置carStyle的值'
'{{item.carDesc}} -
您是否尝试过使用 Angular 2 自定义选择器来设置组件内部样式? angular.io/docs/ts/latest/guide/…
-
我不知道如何在这种情况下使用这些选择器,因为我需要将样式设置为一些 td 而不是表的所有 td。如果我将css放在列中的问题: [styleClass]="carStyle" 代码不会生成样式,但是如果我将类放入 div: class="{{item.carStyle}}" 代码生成样式,但我需要 td 中的样式而不是 div 中的样式
标签: css angular html-table primeng