你写的内容大多是正确的:
function compareValues(params) {
if (params.oldValue > params.newValue){
return {color: 'green', backgroundColor: 'black'};
console.log(params.newValue);
}
if (params.oldValue < params.newValue){
return {color: 'red', backgroundColor: 'black'};
}
而且信息Jarod Moser给了你关于这个回调的params对象是重要的 .
您遇到的问题是您正在尝试 return {style} 但是您不能这样做 . 您需要访问html元素(包含
EDIT - Additional Information
我不认为我会使用newValueHandler来做你想做的事情 .
您没有说明如何更新数据,但您确实说它可能每5秒更新一次 .
但是,您决定更新单元格,可以向rowData对象添加属性'origValue',在更新单元格值之前,将当前值设置为'origValue',然后将新值设置为value . 那么......您可以使用 cellClass 列属性,使用回调函数,并将新值与'origValue'进行比较并返回所需的样式 .
文档中的示例:
// return class based on function
var colDef3 = {
name: 'Function Returns String',
field' 'field3',
cellClass: function(params) { return (params.value==='something'?'my-class-1':'my-class-2'); }
}
// return array of classes based on function
var colDef4 = {
name: 'Function Returns Array',
field' 'field4',
cellClass: function(params) { return ['my-class-1','my-class-2']; }
}
cellClass的params对象可以访问行数据,并且能够比较new和orig值 .
一旦你开始挖掘,有很多选择 . 选择你认为最好的 .