ngrx突出显示网格中新添加的项目

时间:2017-06-28 23:41:14

标签: angular ngrx ngrx-store

我正在使用ngrx(redux),我有一个显示的项目列表(虚拟滚动)。 单击工具栏添加按钮我调度添加操作,reducer将另外一个对象添加到列表并返回新状态。

如何突出显示新创建的行?

我应该保留一个新属性,其中包含新创建的记录的ID吗?我可能还需要在视图中滚动新创建的项目。因为当列表虚拟滚动时,如果用户滚动列表,组件可能会被销毁并重新创建。

1 个答案:

答案 0 :(得分:1)

是的,对于刚创建的那个,set isHighlighted为true。假设您使用reselect.js之类的东西来编写选择器,那么您可以将此列表映射到您的项目dumb component

然后在你的Item哑组件中,如果isHighlighted为true,那么你会突出显示。

就虚拟滚动会发生的额外复杂性而言,商店不应该关心dom元素被破坏或重新创建。因此,如果从dom中删除突出显示的Item组件,则该项仍应保留在Store中。