如何设置带有javascript的Thingsboard小部件中的IF ELSE文本以更改颜色?

时间:2019-03-23 04:26:43

标签: javascript thingsboard

我有一个ThingsBoard表小部件,其中将“节点状态”显示为0或1。其中0 = OK,1 = ALARM。

我已经创建了nodeStatus以返回0 = OK,1 = ALARM的字符串。


Sensor A Status


以下是我在“高级数据键”选项卡-使用单元格内容功能中的当前代码:

var nodeStatus = entity['sensor.a'];

if (nodeStatus == '0')
{
    return "OK";
} else {
    return "ALARM";
}

我想将“返回的字符串”颜色更改为以下颜色:

确定=绿色字体

ALARM =红色字体

我该怎么做?



更新:我向单元格样式函数添加了额外的代码:f(value),如下面的@lupz所建议。

Data key configuration



现在这使整个列更改为红色:

Sensor A Status



我也尝试过在“设置”选项卡中启用“使用数据后处理功能”,而没有更改:

enter image description here

更新:

我已按照以下注释从“单元格内容功能”中删除了nodeStatus函数:

enter image description here

在除去if(value === 0)旁边的'0'周围的单引号后,我遇到了与上述相同的问题(整个列为红色)。

enter image description here

2 个答案:

答案 0 :(得分:0)

在表小部件的高级数据键设置中,应该还有一个名为Cell style function: f(value)的脚本输入。可用于根据其值设置单元格的CSS样式:

/* Assuming value is your nodeStatus */

if (value === '0') {
    return {
        color: 'green'
    };
} else {
    return {
        color: 'red'
    };
}

答案 1 :(得分:0)

if (value == 'false') {
    return{background:'#0394fc'};
}