0

我有一个传感器列表,一旦新数据从传感器到达,我希望列表条目突出显示/闪烁一秒钟左右。使用该闪存,用户将被告知传感器数据已更改。

传感器数据在 内到达event,UI 刷新将由 触发StateHasChanged

一些想法:我有想法创建一个具有传感器数据和HasChanged属性的新类,但由于我想使用MatBlazorTables哪些用途foreach,我无法HasChanged在渲染后再次将其更改为 false。我的第二个想法是创建两个列表,一个包含“旧”数据,一个包含新到达的数据,然后 razor-component 查找进行更改的位置。

是否有更简单、更清洁的解决方案,可能已经嵌入到我尚未发现的 Blazor 中?

4

1 回答 1

2

实现这一点的最简单方法是使用 CSS 动画 - 不需要 C# 或 JS 代码!(免责声明:我不是 CSS 专家!)

动画可以定义为特定的持续时间和重复。当您将项目添加到 Blazor 列表时,Blazor 通过比较添加它们,因此现有项目不会更改,因此不会触发新项目的动画。

我在这里创建了一个演示:https ://blazorfiddle.com/s/0qj50sch

例子

Flash动画示例

于 2020-01-16T10:05:13.527 回答