2017-10-18 53 views
0

我是新的角4,我想做一个p-dataTable,并希望根据我的对象数量属性更改行颜色。如果数量小于10,则行颜色将变为红色。行颜色根据属性条件角度变化4

下面是我的代码:

<p-dataTable [value]="myObjectList" 
        selectionMode="single" [rows]="10" [paginator]="true" 
        [pageLinks]="3" [rowsPerPageOptions]="[5,10,20]" [totalRecords]="totalRecords" [loading]="loading" exportFilename="InventoryDetailsReport" #dt></p-dataTable> 

我google了很多了两天,找到“rowStyleClass”在每一个情况下使用,但所有的例子是在ngPrime版本1.0.1

我的工作在版本4.1.3,我无法做行颜色。 我该如何解决这个问题?

在此先感谢。

回答

1

您可以使用rowStyleClass - 获取行数据和行索引作为参数并返回该行的样式类的函数。这是rowStyleMap方法的替代方法。

<p-dataTable ... [rowStyleClass]="setClass"></p-dataTable> 

setClass(rowData) { 
    return rowData.quantity < 10 ? 'classOne' : 'classTwo'; 
} 
+0

感谢@jsFan老兄您的回复,但我用这个过程中,我面临的一个问题=>我有三个rowData但“setClass”函数调用的6倍。而且颜色也不会改变。 :( –

+0

它被称为6次,因为变化检测运行两次。 – JsFan

+0

您可以验证该类是否添加到元素? – JsFan