【发布时间】:2019-09-20 22:19:58
【问题描述】:
我在 Angular 网络应用中有 HTML 表格。 通过服务从数据库中获取数据并显示为文本。
其中一列是状态,所以我需要将该变量显示为文本,而不是文本, 但作为某种颜色的圆圈,所以如果该单元格值为“绿色”, 它应该显示为绿色圆圈。
这就是我所拥有的。
CSS(组件样式的一部分):
:host ::ng-deep td.circle {
text-align: center;
font-size: 0;
background-color: RED; <--- need to pass param here
}
我将该列定义为:
.circle {
border-radius: 50%;
height: 24px;
width: 24px;
}
HTML:
<app-table [attrs]="serviceapi" [monthSelected]="monthSelected" ></app-table>
该表的 TS: 在构造函数中:
this.data = {
headers: [],
rows: []
};
ngOnInit() {
this.tableMetricsService.getTableMetrics(
JSON.parse(this.attrs).api,
this.monthSelected
).subscribe(response => {
this.data = response;
}
);
}
知道如何将单元格值“翻译”成 CSS 背景色吗?
TIA,
奥列格。
【问题讨论】:
-
如果我告诉你你不能怎么办?而是有一个将颜色更改为红色的类和一个将其更改为绿色的类。然后使用 ngClass 有条件地添加类,使其成为正确的颜色。
-
标题把我弄糊涂了!
-
我建议您不要在 ts 文件中处理设计内容(css 更改)。相反,您可以使用 [ngClass] 或 [class] 并根据您的数据库响应在 html 中动态更改类。通过这个链接angular.io/api/common/NgClass
标签: css angular typescript