我需要在一段时间后更改行的背景颜色。网格中有一列的时间以秒为单位,我需要在该时间过去 50% 后更改行颜色。
网格中的数据本身并没有改变,因此使用 rowClassRules 似乎不起作用,因为不会发生任何更改来触发根据规则评估数据。相反,我想到使用带有延迟的 setTimeout() 函数,但无法弄清楚 setTimeout 块内部会执行什么操作来将 css 类应用到 rowNode。我不想更改行本身中的任何数据。最糟糕的情况是,我想我可以添加一个新的隐藏列并在计时器之后更改该列中的值,但我宁愿避免这种情况。我正在使用 React。
我尝试做这样的事情:
let red_warnings = [] let yellow_warnings = []
const rowClassRules = {
'.red': (params) => { return red_warnings.includes(params.data.Id) },
'.yellow': (params) => { return yellow_warnings.includes(params.data.Id) }
}
// when a new row is added
setTimeout(() => {
yellow_warnings.push(Id)
}, 1000 * Timeout * 0.5)
setTimeout(() => {
red_warnings.push(Id)
}, 1000 * Timeout * 0.8)
但是由于行中没有实际更改的数据,因此一旦我将 ID 添加到警告数组中,就不会触发重新评估 rowClassRules。
Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号