В Blazor Server Side покажите, где были внесены изменения - PullRequest
0 голосов
/ 15 января 2020

У меня есть список датчиков, и как только с датчика поступают новые данные, я хочу, чтобы запись в списке выделялась / fla sh на одну секунду или около того. С помощью этого флага sh пользователь будет проинформирован о том, что данные датчика изменились.

Данные датчика поступают в пределах event, и обновление пользовательского интерфейса sh будет вызвано StateHasChanged.

Некоторые мысли: у меня была идея создать новый класс, который имеет данные senor и свойство HasChanged, но, поскольку я хотел бы использовать MatBlazorTables, который использует foreach, я не могу изменить HasChanged снова ложно после рендеринга. Вторая мысль, которая у меня возникла, - создание двух списков: один со «старыми» данными, другой с новыми поступившими данными, а затем компонент бритвы просматривает, где были внесены изменения.

Существуют ли более простые и понятные решения, возможно, уже встроенные в Blazor, которые я еще не обнаружил?

1 Ответ

2 голосов
/ 16 января 2020

Самый простой способ добиться этого - использовать CSS анимации - код C# или JS не требуется! (отказ от ответственности: я не CSS эксперт!)

Анимации могут быть определены как определенные c продолжительность и повторение. Когда вы добавляете элементы в список Blazor, Blazor добавляет их с помощью diff'ing, поэтому существующие элементы не изменяются и, следовательно, не запускают анимацию для новых.

I ' Мы создали демо здесь: https://blazorfiddle.com/s/0qj50sch

Пример

Example of flash animation

...