在UI-grid单元格模板中使用COL_FIELD值时,我遇到了一些困难。
基本上,我要做的是根据“dateColor”字典中的值为每个单元格设置颜色。
代码如下所示:
function getMyServersTableFields(fieldsToShow,dateColor) {
var specificColumnDef = [];
_.each(fieldsToShow, function (item) {
specificColumnDef.push(
{
name: 'item',
displayName:'item',
cellClass: 'ui-grid-cell-contents',
cellTooltip: true,
cellTemplate: '<div><strong style="color: ' + dateColor[ {{COL_FIELD}} ] + '"">{{COL_FIELD}}</strong></div>',
minWidth: 150,
aggregationType: function (items) {
return 'Total servers: ' + $filter('number')(items.length);
}
}
);
}
}
正如您所看到的,'dateColor‘是一个字典,我尝试设置颜色的方法是通过在字典中获取{{COL_FIELD}}
的值,但我无法使其工作。有什么建议吗?
发布于 2019-06-22 04:20:39
您的cellTemplate定义错误。COL_FIELD需要在字符串定义内,字符串外的COL_FIELD不存在。
你可以这样做:
function getMyServersTableFields(fieldsToShow, dateColor) {
var specificColumnDef = [];
_.each(fieldsToShow, function (item) {
specificColumnDef.push({
name: 'item',
displayName: 'item',
cellClass: 'ui-grid-cell-contents',
cellTooltip: true,
//cellTemplate: '<div><strong style="color: ' + dateColor[ {{COL_FIELD}} ] + '"">{{COL_FIELD}}</strong></div>',
cellTemplate: '<div><strong ng-style="{\'color\': col.colDef.dateColor[COL_FIELD]}">{{COL_FIELD}}</strong></div>',
dateColor: dateColor,
minWidth: 150,
aggregationType: function (items) {
return 'Total servers: ' + $filter('number')(items.length);
}
})
})
}
我还将样式更改为ng-style,因为您使用插值来设置样式。
https://stackoverflow.com/questions/56456745
复制相似问题