我想传递两个用例,假设cell的初始值为1
- 如果我把它改为2,那么单元格的颜色也会改变。
- 如果再次I,更改回1,则单元格的颜色不应更改。
,我的第一个用例可以通过使用ag-grid提供的,fun onValueChanged()成功通过我可以跟踪旧值和新值
(params.oldvalue !== params.newValue ? {color: red} : {}
,但对于第二种情况,问题是,我们无法跟踪旧值i, e1从2变为1,此时2变为oldvalue, 1变为new value
重要的是要认识到网格是显示数据的UI组件。它会显示你绑定到它的'rows'属性的任何内容。
网格不是您的数据存储。您的数据存储或数据存储的副本(可能发生了变化)绑定到网格,但网格不是您的数据。
我不能强调这一点,我发现自己在SO上重复了很多次这个建议。
一旦你意识到这一点,那么ag-grid就不负责决定它所显示的数据是否与你最初绑定到它的数据不同,比如来自API调用。
如果你需要还原一段数据的"已更改"状态,那么你将不得不保留数据的两个副本(在你的组件中,或者你的组件的数据存储中,如果你有的话):初始数据和当前绑定到网格的数据。
然后,你的单元渲染器(或css classRules,或任何你用来指示"改变"状态的东西)可以比较当前值和原始值,而不依赖于网格的行为。